我在Nexus S上运行我的应用程序,每个应用程序内存限制为32M字节。
我运行命令检查应用程序的内存使用情况:
adb -d shell dumpsys meminfo com.mycomp.myapp
Applications Memory Usage (kB):
Uptime: 1128469 Realtime: 1128466
** MEMINFO in pid 841 [com.mycomp.myapp] **
native dalvik other total
size: 29148 9415 N/A 38563
allocated: 20259 6273 N/A 26532
free: 379 3142 N/A 3521
(Pss): 9253 2049 25338 36640
(shared dirty): 1984 1520 7836 11340
(priv dirty): 9180 960 16212 26352
Objects
Views: 0 ViewRoots: 0
AppContexts: 0 Activities: 0
Assets: 24 AssetManagers: 24
Local Binders: 11 Proxy Binders: 23
Death Recipients: 1
OpenSSL Sockets: 0
SQL
heap: 173 MEMORY_USED: 173
PAGECACHE_OVERFLOW: 28 MALLOC_SIZE: 50
DATABASES
pgsz dbsz Lookaside(b) Dbname
1 14 61 webview.db
1 8 53 webviewCache.db
从上面的内存报告中,我的应用已经使用了38563K内存,已经超过了32M VM预算。但为什么应用程序还没有崩溃呢?
答案 0 :(得分:2)
查看“已分配”行,它低于32M限制。