小编207*_*207的帖子

来自Google I/O的Android内存泄漏示例

我刚看了谷歌io视频"android的内存管理".幻灯片可在http://dubroy.com/memory_management_for_android_apps.pdf上找到.内存泄漏示例在幻灯片36上.

我不明白为什么这会在方向改变后导致泄漏.我确实理解泄漏是一个内部类,并且引用了外部类.另外,我确实理解静态变量"leak"引用了"Leaky"对象......就是整个活动.我认为这是特殊的,因为static关键字.静态变量有一定的内存,可能不是gc'ed(至少只要应用程序运行)?!?

那么,oriantation变化会发生什么?创建一个新的活动实例并onCreate调用活动.leak == null是假的.泄漏仍指向"旧"活动.那是泄密.老活动不能接受,对吧?

为什么内存使用会随着每个oriantation的变化而增加?在我(错误的)理解中,我认为只有第一个活动不能被gc'ed.那些因为oriantation变化产生的其他activites可以gc'ed,因为它们不是由静态变量"泄漏"中引用.

但是......显然......我完全错了!

android memory-leaks

11
推荐指数
1
解决办法
3995
查看次数

android cache>内部存储与对象缓存

我需要从网络缓存图像(仅5或最多100)并显示在列表视图中.如果用户选择列表视图的一行,则可以清除缓存.我看了一些例子.有些人使用外部存储.一些使用内部和外部.一些对象..

那么内部存储的优点/缺点是什么(http://developer.android.com/guide/topics/data/data-storage.html#filesInternal通过getCacheDir())和对象缓存(类似于WeakHashMap或HashMap <String) ,SoftReference <Drawable>)?

软引用的一个问题似乎是它们可能得到的速度太快(SoftReference太早收集垃圾).android内部存储怎么样?参考sais"这些文件将在设备运行不足时首先被删除."

使用对象缓存或临时内部存储会有什么不同吗?除了对象缓存应该更快一点

java android caching garbage-collection

6
推荐指数
1
解决办法
2712
查看次数