[Android] Android开发优化之——使用软引用和弱引用

1. Android 中的4种引用
 ①  

[Android] Android开发优化之——使用软引用和弱引用


 ②  Java的引用StrongReference、 SoftReference、 WeakReference 、PhantomReference
 ③ 硬引用 LruCache:  Android DiskLruCache完全解析,硬盘缓存的最佳方案
DiskLruCache 
 原理-- 获取进程最大运行内存,给缓存设置一个最大占用内存值,超过这个内存则把最少使用的图片移除掉。
 实现:
 写入
 ① 文件保存路径
    /sdcard/Android/data/<application package>/cache 或者是 /data/data/<application package>/cache 
 ② 保存缓存文件的文件名  Url对应的MD5值
 ③ 得到 DiskLruCache 对象,通过
   DiskLruCache.open(File directory, int appVersion, int valueCount, long maxSize)返回
 ④ 以文件名为参数得到Editor 对象 mDiskLruCache.edit(key);
 ⑤ 以 editor.newOutputStream(0) 得到输出流,以imageUrl、outputStream为参数 通过Http下载图片写入到缓存中。在子线程中进行
  读取
 ① 通过 url 得到MD5值,通过mDiskLruCache.get(key) 得到 Snapshot 对象,通过snapShot.getInputStream(0);得到输入流,然后的事情就是 转换成 Bitmap 显示。
 移除缓存: mDiskLruCache.remove(key);

2. 优化工具
 ① Android代码优化——使用Android lint工具
   在Android Studio要运行Lint工具:“Analyze”菜单中选择“Inspect Code…”。
3.  Android性能优化之布局优化篇  
4.  Android学习系列(36)--App调试内存泄露之Context篇(上)

5. Android App定位和规避内存泄露方法研究
   如何定位和解决Andorid的内存溢出问题(大总结)















































猜你喜欢

转载自blog.csdn.net/ymangu/article/details/47100803