您的位置:首页 > 其它

智慧北京笔记5

2016-01-22 14:22 162 查看

三级缓存

内存缓存, 优先加载, 速度最快

本地缓存, 次优先加载, 速度快

网络缓存, 不优先加载, 速度慢,浪费流量

内存溢出OOM

Android默认给每个app只分配16M的内存

java中的引用

强引用 垃圾回收器不会回收, java默认引用都是强引用
软引用 SoftReference 在内存不够时,垃圾回收器会考虑回收
弱引用 WeakReference 在内存不够时,垃圾回收器会优先回收
虚引用 PhantomReference 在内存不够时,垃圾回收器最优先回收

注意: Android2.3+, 系统会优先将SoftReference的对象提前回收掉, 即使内存够用

LruCache

[code]least recentlly use 最少最近使用算法

会将内存控制在一定的大小内, 超出最大值时会自动回收, 这个最大值开发者自己定

图片压缩

<span style="white-space:pre">	</span>// 图片压缩处理
      BitmapFactory.Options option = new BitmapFactory.Options();
      option.inSampleSize = 2;// 宽高都压缩为原来的二分之一, 此参数需要根据图片要展示的大小来确定
      option.inPreferredConfig = Bitmap.Config.RGB_565;// 设置图片格式

      Bitmap bitmap = BitmapFactory.decodeStream(inputStream, null,
          option);
      return bitmap;


极光推送

所有需要客户端被动接收信息的功能模块,都可以用推送实现

推送原理

xmpp 是一种基于TCP/IP的协议, 这种协议更适合消息发送
socket 套接字, 发送和接收网络请求
长连接 keep-alive, 服务器基于长连接找到设备,发送消息
心跳包 , 客户端会定时(30秒一次)向服务器发送一段极短的数据,作为心跳包, 服务器定时收到心跳,证明客户端或者,才会发消息.否则将消息保存起来,等客户端活了之后(重新连接),重新发送.



















内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: