我使用了/proc/meminfo并解析了命令response.however,结果显示:
MemTotal: 94348 kB MemFree: 5784 kB
意思是。它显示只有5MB可用内存。安卓手机能做到吗?我的手机上只安装了5-6个应用程序,没有其他任务在运行。但此命令仍然显示可用内存非常少。
有人能澄清这一点吗?或者,有没有其他方法来获取android的内存使用量?
发布于 2010-07-03 22:14:50
另一种方式(目前在我的G1上显示25MB可用空间):
MemoryInfo mi = new MemoryInfo();
ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
activityManager.getMemoryInfo(mi);
long availableMegs = mi.availMem / 1048576L;
发布于 2013-03-15 18:12:07
你也可以使用DDMS工具,它是android SDK本身的一部分。它有助于获得java代码和本机c/c++代码的内存分配。
发布于 2020-06-11 21:04:48
以下是查看应用程序内存使用情况的另一种方式:
adb shell dumpsys meminfo <com.package.name> -d
示例输出:
Applications Memory Usage (kB):
Uptime: 2896577 Realtime: 2896577
** MEMINFO in pid 2094 [com.package.name] **
Pss Private Private Swapped Heap Heap Heap
Total Dirty Clean Dirty Size Alloc Free
------ ------ ------ ------ ------ ------ ------
Native Heap 3472 3444 0 0 5348 4605 102
Dalvik Heap 2349 2188 0 0 4640 4486 154
Dalvik Other 1560 1392 0 0
Stack 772 772 0 0
Other dev 4 0 4 0
.so mmap 2749 1040 1220 0
.jar mmap 1 0 0 0
.apk mmap 218 0 32 0
.ttf mmap 38 0 4 0
.dex mmap 3161 80 2564 0
Other mmap 9 4 0 0
Unknown 76 76 0 0
TOTAL 14409 8996 3824 0 9988 9091 256
Objects
Views: 30 ViewRootImpl: 2
AppContexts: 4 Activities: 2
Assets: 2 AssetManagers: 2
Local Binders: 17 Proxy Binders: 21
Death Recipients: 7
OpenSSL Sockets: 0
SQL
MEMORY_USED: 0
PAGECACHE_OVERFLOW: 0 MALLOC_SIZE: 0
对于总体内存使用情况:
adb shell dumpsys meminfo
https://developer.android.com/studio/command-line/dumpsys#meminfo
https://stackoverflow.com/questions/3170691
复制相似问题