【发布时间】:2014-11-13 14:02:39
【问题描述】:
我运行了这个命令adb shell dumpsys meminfo <package_name> 并得到了
Objects
Views: 74 ViewRootImpl: 1
AppContexts: 3 Activities: 1
Assets: 4 AssetManagers: 4
Local Binders: 11 Proxy Binders: 20
Death Recipients: 0
OpenSSL Sockets: 2
SQL
MEMORY_USED: 0
PAGECACHE_OVERFLOW: 0 MALLOC_SIZE: 0
按下后退按钮并再次启动应用程序并重复此过程几次后:
Objects
Views: 1408 ViewRootImpl: 8
AppContexts: 14 Activities: 12
Assets: 5 AssetManagers: 5
Local Binders: 13 Proxy Binders: 32
Death Recipients: 0
OpenSSL Sockets: 1
SQL
MEMORY_USED: 0
PAGECACHE_OVERFLOW: 0 MALLOC_SIZE: 0
注意 Activity 和 AppContexts 计数,它们只是通过一次又一次地启动应用程序而不断增加。这是否意味着我有内存泄漏?
我读了这份文件https://developer.android.com/tools/debugging/debugging-memory.html#ViewingAllocations,上面写着:
AppContexts and Activities 应用上下文和Activity的数量 当前存在于您的进程中的对象。这对 快速识别泄露的不能是垃圾的Activity对象 由于它们上的静态引用而收集,这很常见。这些 对象通常有很多与它们相关的其他分配,并且 这是跟踪大量内存泄漏的好方法。
【问题讨论】:
标签: android memory-leaks out-of-memory