我已经开发了一个Android应用程序,我正处于手机应用程序开发阶段,其中一切似乎都运行良好,你想宣布胜利和发货,但你知道只需要一些内存和资源泄漏在那里; Android上只有16mb的堆,而且在Android应用程序中显然很容易泄漏.
我一直在环顾四周,到目前为止只能找到关于'hprof'和'traceview'的信息并且没有得到很多好评.
您在OS项目中遇到或开发并关心分享哪些工具或方法?
我认为我的Android应用程序正在泄漏内存.我不完全确定这是问题所在.
打开时应用程序经常崩溃,而logcat在尝试加载位图图像时显示"内存不足"异常.
崩溃后,我重新打开应用程序,它工作正常.Logcat显示了很多"gc",并且每隔一段时间JIT表会向上调整大小,从不向下,直到应用程序因内存不足错误而崩溃.
这听起来像是内存泄漏吗?如果是这样,我该如何定位和关闭泄漏.
这是我的app的adb shell meminfo.
** MEMINFO in pid 2691 [com.example.deepcliff] **
native dalvik other total
size: 23264 8839 N/A 32103
allocated: 12503 3826 N/A 16329
free: 168 5013 N/A 5181
(Pss): 2512 1395 13815 17722
(shared dirty): 2088 1844 5008 8940
(priv dirty): 2412 224 11316 13952
Objects
Views: 0 ViewRoots: 0
AppContexts: 0 Activities: 0
Assets: 2 AssetManagers: 2
Local Binders: 55 Proxy Binders: 13
Death Recipients: 1
OpenSSL Sockets: 0
SQL
heap: 129 MEMORY_USED: 129 …Run Code Online (Sandbox Code Playgroud) 如何在Ubuntu上的Eclipse中使用Valgrind与Android应用程序在运行时查找android本机代码内存泄漏.