核心提示:1.AIDL大概步骤:server端1.创建AIDL文件,系统会通过Java语言生成接口,同时会生成一个stub,这个stub是接口的一个内部类,他继承于binder.2.实现接口方法3.实现Serv...
1.AIDL
大概步骤:
server端
1.创建AIDL文件,系统会通过Java语言生成接口,同时会生成一个stub,这个stub是接口的一个内部类,他继承于binder.
2.实现接口方法
3.实现Service,重写它的onBind()方法,将我们的Stub实现类暴露出去。
client端:连包把我们的aidl文件拷贝到client端,之后就可以通过serviceConnection获取到我们的Stub实现类
2.OkHttp:
总结来说每一个请求封装为一个call,实现类是RealCall,通过execute,或者enqueque,dispatcher方法去进行同步或者异步的请求操作,
我们传输进去的Request对象,经过InterceptChain的整理,最终通过网络请求返回response对象的过程。
3.获取图片大小的方式
获取内存最多占用多少内存的方法:Runtime.getRuntime.maxMemory()方法获取。
宽*高*每像素占用大小=总内存。
每像素占用内存受到图片格式影响,比如PNG相对JPG来说,它多个透明度属性,因此占用内存更大。
BitmapFactory的options中的iinJustDecodeBounds设置为true不分配内存,但可以获取真实宽高。
options中的inSampleSize控制我们宽高缩小多少。
同样可以在options中修改图片格式