Android中如何查看内存(上)
生活随笔
收集整理的這篇文章主要介紹了
Android中如何查看内存(上)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章參照自:http://stackoverflow.com/questions/2298208/how-to-discover-memory-usage-of-my-application-in-android#2299813 像Linux這種現(xiàn)代操作系統(tǒng)的內(nèi)存使用是很復(fù)雜的,因此很難準(zhǔn)確的知道你的應(yīng)用程序使用了好多內(nèi)存。 查看內(nèi)存使用的方式有很多種,但是各個方式查看到的結(jié)果可能會有微略不同。 方式一,Running services 通過手機上Running services的Activity查看,可以通過Setting->Applications->Running services進(jìn)。 關(guān)于Running services的詳細(xì)內(nèi)容請參考《Android中使用"running services"查看service進(jìn)程內(nèi)存》 方式二,使用ActivityManager的getMemoryInfo(ActivityManager.MemoryInfo?outInfo) ActivityManager.getMemoryInfo()主要是用于得到當(dāng)前系統(tǒng)剩余內(nèi)存的及判斷是否處于低內(nèi)存運行。 實例1: ? ? private void displayBriefMemory() { ? ? ? ? ? ??final ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); ? ? ? ? ? ? ActivityManager.MemoryInfo info = new ActivityManager.MemoryInfo(); ?? ? ? ? ? activityManager.getMemoryInfo(info); ? ? ? ? ? ? Log.i(tag,"系統(tǒng)剩余內(nèi)存:"+(info.availMem?>> 10)+"k"); ?? ? ? ? ? Log.i(tag,"系統(tǒng)是否處于低內(nèi)存運行:"+info.lowMemory); ? ? ? ? Log.i(tag,"當(dāng)系統(tǒng)剩余內(nèi)存低于"+info.threshold+"時就看成低內(nèi)存運行"); ? ? }? ActivityManager.getMemoryInfo()是用ActivityManager.MemoryInfo返回結(jié)果,而不是Debug.MemoryInfo,他們不一樣的。 ActivityManager.MemoryInfo只有三個Field: availMem:表示系統(tǒng)剩余內(nèi)存 lowMemory:它是boolean值,表示系統(tǒng)是否處于低內(nèi)存運行 hreshold:它表示當(dāng)系統(tǒng)剩余內(nèi)存低于好多時就看成低內(nèi)存運行 方式三,在代碼中使用Debug的getMemoryInfo(Debug.MemoryInfo memoryInfo)或ActivityManager的MemoryInfo[] getProcessMemoryInfo(int[] pids) 該方式得到的MemoryInfo所描述的內(nèi)存使用情況比較詳細(xì).數(shù)據(jù)的單位是KB. MemoryInfo的Field如下 dalvikPrivateDirty:?The private dirty pages used by dalvik。 dalvikPss?:The proportional set size for dalvik. dalvikSharedDirty?:The shared dirty pages used by dalvik. nativePrivateDirty?:The private dirty pages used by the?native heap. nativePss?:The proportional set size for the native heap. nativeSharedDirty?:The shared dirty pages used by the?native heap. otherPrivateDirty?:The private dirty pages used by everything else. otherPss?:The proportional set size for everything else. otherSharedDirty?:The shared dirty pages used by everything else. Android和Linux一樣有大量內(nèi)存在進(jìn)程之間進(jìn)程共享。某個進(jìn)程準(zhǔn)確的使用好多內(nèi)存實際上是很難統(tǒng)計的。 因為有paging out to disk(換頁),所以如果你把所有映射到進(jìn)程的內(nèi)存相加,它可能大于你的內(nèi)存的實際物理大小。 dalvik:是指dalvik所使用的內(nèi)存。 native:是被native堆使用的內(nèi)存。應(yīng)該指使用C\C++在堆上分配的內(nèi)存。 other:是指除dalvik和native使用的內(nèi)存。但是具體是指什么呢?至少包括在C\C++分配的非堆內(nèi)存,比如分配在棧上的內(nèi)存。puzlle! private:是指私有的。非共享的。 share:是指共享的內(nèi)存。 PSS:實際使用的物理內(nèi)存(比例分配共享庫占用的內(nèi)存) Pss:它是把共享內(nèi)存根據(jù)一定比例分?jǐn)偟焦蚕硭母鱾€進(jìn)程來計算所得到進(jìn)程使用內(nèi)存。網(wǎng)上又說是比例分配共享庫占用的內(nèi)存,那么至于這里的共享是否只是庫的共享,還是不清楚。 ?PrivateDirty:它是指非共享的,又不能換頁出去(can not be paged to disk?)的內(nèi)存的大小。比如Linux為了提高分配內(nèi)存速度而緩沖的小對象,即使你的進(jìn)程結(jié)束,該內(nèi)存也不會釋放掉,它只是又重新回到緩沖中而已。 SharedDirty:參照PrivateDirty我認(rèn)為它應(yīng)該是指共享的,又不能換頁出去(can not be paged to disk?)的內(nèi)存的大小。比如Linux為了提高分配內(nèi)存速度而緩沖的小對象,即使所有共享它的進(jìn)程結(jié)束,該內(nèi)存也不會釋放掉,它只是又重新回到緩沖中而已。 具體代碼請參考實例1 注意1:MemoryInfo所描述的內(nèi)存使用情況都可以通過命令adb shell?"dumpsys meminfo %curProcessName%"?得到。 注意2:如果想在代碼中同時得到多個進(jìn)程的內(nèi)存使用或非本進(jìn)程的內(nèi)存使用情況請使用ActivityManager的MemoryInfo[] getProcessMemoryInfo(int[] pids), 否則Debug的getMemoryInfo(Debug.MemoryInfo memoryInfo)就可以了。 注意3:可以通過ActivityManager的List<ActivityManager.RunningAppProcessInfo>?getRunningAppProcesses()得到當(dāng)前所有運行的進(jìn)程信息。 ActivityManager.RunningAppProcessInfo中就有進(jìn)程的id,名字以及該進(jìn)程包括的所有apk包名列表等。 注意4:數(shù)據(jù)的單位是KB. 方式4、使用Debug的getNativeHeapSize (),getNativeHeapAllocatedSize (),getNativeHeapFreeSize ()方法。 該方式只能得到Native堆的內(nèi)存大概情況,數(shù)據(jù)單位為字節(jié)。 static long?getNativeHeapAllocatedSize()? Returns the amount of allocated memory in the native heap. 返回的是當(dāng)前進(jìn)程navtive堆中已使用的內(nèi)存大小
static long?getNativeHeapFreeSize() Returns the amount of free memory in the native heap. 返回的是當(dāng)前進(jìn)程navtive堆中已經(jīng)剩余的內(nèi)存大小 static long?getNativeHeapSize() Returns the size of the native heap. 返回的是當(dāng)前進(jìn)程navtive堆本身總的內(nèi)存大小 示例代碼: ? ? ? ? ? Log.i(tag,"NativeHeapSizeTotal:"+(Debug.getNativeHeapSize()>>10)); ? ? ? ? ? Log.i(tag,"NativeAllocatedHeapSize:"+(Debug.getNativeHeapAllocatedSize()>>10)); ? ? ? ? ? Log.i(tag,"NativeAllocatedFree:"+(Debug.getNativeHeapFreeSize()>>10)); 注意:DEBUG中居然沒有與上面相對應(yīng)的關(guān)于dalvik的函數(shù)。 方式五、使用dumpsys meminfo命令。 我們可以在adb shell 中運行dumpsys meminfo命令來得到進(jìn)程的內(nèi)存信息。在該命令的后面要加上進(jìn)程的名字,以確定是哪個進(jìn)程。 比如"adb shell dumpsys meminfo?com.teleca.robin.test"?將得到com.teleca.robin.test進(jìn)程使用的內(nèi)存的信息:? Applications Memory Usage (kB): Uptime: 12101826 Realtime: 270857936 ? ** MEMINFO in pid 3407 [com.teleca.robin.test] ** ? ? ? ? ? ? ? ? ? ? native ? dalvik ? ?other ? ?total ? ? ? ? ? ??size: ? ? 3456 ? ? 3139 ? ? ?N/A ? ? 6595 ? ? ? ?allocated: ? ? 3432 ? ? 2823 ? ? ?N/A ? ? 6255 ? ? ? ? ? ??free: ? ? ? 23 ? ? ?316 ? ? ?N/A ? ? ?339 ? ? ? ? ? ?(Pss): ? ? ?724 ? ? 1101 ? ? 1070 ? ? 2895 ??(shared dirty): ? ? 1584 ? ? 4540 ? ? 1668 ? ? 7792 ? ??(priv dirty): ? ? ?644 ? ? ?608 ? ? ?688 ? ? 1940 ? ?Objects ? ? ? ? ? ?Views: ? ? ? ?0 ? ? ? ?ViewRoots: ? ? ? ?0 ? ? ?AppContexts: ? ? ? ?0 ? ? ? Activities: ? ? ? ?0 ? ? ? ? ? Assets: ? ? ? ?3 ? ?AssetManagers: ? ? ? ?3 ? ?Local Binders: ? ? ? ?5 ? ?Proxy Binders: ? ? ? 11 Death Recipients: ? ? ? ?0 ?OpenSSL Sockets: ? ? ? ?0 ? ?SQL ? ? ? ? ? ? heap: ? ? ? ?0 ? ? ? memoryUsed: ? ? ? ?0 pageCacheOverflo: ? ? ? ?0 ?largestMemAlloc: ? ? ? ?0 ? ? ?Asset Allocations ? ? zip:/data/app/com.teleca.robin.test-1.apk:/resources.arsc: 1K ?"size" 表示的是總內(nèi)存大小(kb)。, "allocated" 表示的是已使用了的內(nèi)存大小(kb),, "free"表示的是剩余的內(nèi)存大小(kb), 更多的可以參照方式三和方式四中的描述 現(xiàn)在已經(jīng)有了自動提取匯總dumpsys meminfo信息的工具,具體請參照《Android內(nèi)存泄露利器(內(nèi)存統(tǒng)計篇)》及其系列文章。 方式六、使用?"adb shell procrank"命令 如果你想查看所有進(jìn)程的內(nèi)存使用情況,可以使用"adb shell procrank"命令。命令返回將如下: ? PID ? ? ?Vss ? ? ?Rss ? ? ?Pss ? ? ?Uss ?cmdline ? 188 ? 75832K ? 51628K ? 24824K ? 19028K ?system_server ? 308 ? 50676K ? 26476K ? ?9839K ? ?6844K ?system_server ?2834 ? 35896K ? 31892K ? ?9201K ? ?6740K ?com.sec.android.app.twlauncher ? 265 ? 28536K ? 28532K ? ?7985K ? ?5824K ?com.android.phone ? 100 ? 29052K ? 29048K ? ?7299K ? ?4984K ?zygote ? 258 ? 27128K ? 27124K ? ?7067K ? ?5248K ?com.swype.android.inputmethod ? 270 ? 25820K ? 25816K ? ?6752K ? ?5420K ?com.android.kineto ?1253 ? 27004K ? 27000K ? ?6489K ? ?4880K ?com.google.android.voicesearch ?2898 ? 26620K ? 26616K ? ?6204K ? ?3408K ?com.google.android.apps.maps:FriendService ? 297 ? 26180K ? 26176K ? ?5886K ? ?4548K ?com.google.process.gapps ?3157 ? 24140K ? 24136K ? ?5191K ? ?4272K ?android.process.acore ?2854 ? 23304K ? 23300K ? ?4067K ? ?2788K ?com.android.vending ?3604 ? 22844K ? 22840K ? ?4036K ? ?3060K ?com.wssyncmldm ? 592 ? 23372K ? 23368K ? ?3987K ? ?2812K ?com.google.android.googlequicksearchbox ?3000 ? 22768K ? 22764K ? ?3844K ? ?2724K ?com.tmobile.selfhelp ? 101 ? ?8128K ? ?8124K ? ?3649K ? ?2996K ?/system/bin/mediaserver ?3473 ? 21792K ? 21784K ? ?3103K ? ?2164K ?com.android.providers.calendar ?3407 ? 22092K ? 22088K ? ?2982K ? ?1980K ?com.teleca.robin.test ?2840 ? 21380K ? 21376K ? ?2953K ? ?1996K ?com.sec.android.app.controlpanel ...................................................................................................................... 關(guān)于VSS,RSS,PSS,USS的意義請參考《Android內(nèi)存之VSS/RSS/PSS/USS》 注意1:這里的PSS和方式四PSS的total并不一致,有細(xì)微的差別。為什么呢?這是因為procrank 命令和meminfo命令使用的內(nèi)核機制不太一樣,所以結(jié)果會有細(xì)微差別 注意2:這里的Uss?和方式四的Priv Dirtyd的total幾乎相等.他們似乎表示的是同一個意義。但是現(xiàn)在得到的關(guān)于它們的意義的解釋卻不太相同。難道這里Private的都是dirty(這里指不能換頁)??Puzzle! 方式七、使用"adb shell cat /proc/meminfo" 命令。 該方式只能得出系統(tǒng)整個內(nèi)存的大概使用情況。 MemTotal: ? ? ? ? 395144 kB? MemFree: ? ? ? ? ?184936 kB? Buffers: ? ? ? ? ? ? 880 kB? Cached: ? ? ? ? ? ?84104 kB? SwapCached: ? ? ? ? ? ?0 kB? ................................................................................................ MemTotal?:可供系統(tǒng)和用戶使用的總內(nèi)存大小?(它比實際的物理內(nèi)存要小,因為還有些內(nèi)存要用于radio, DMA buffers, 等).? MemFree:剩余的可用內(nèi)存大小。這里該值比較大,實際上一般Android system 的該值通常都很小,因為我們盡量讓進(jìn)程都保持運行,這樣會耗掉大量內(nèi)存。 Cached:?這個是系統(tǒng)用于文件緩沖等的內(nèi)存. 通常systems需要20MB 以避免bad paging states;。當(dāng)內(nèi)存緊張時,the Android out of memory killer將殺死一些background進(jìn)程,以避免他們消耗過多的cached RAM ,當(dāng)然如果下次再用到他們,就需要paging. 那么是說background進(jìn)程的內(nèi)存包含在該項中嗎? 方式八,使用“adb shell ps -x”命令 該方式主要得到的是內(nèi)存信息是VSIZE 和RSS。 USER ? ? PID ? PPID ?VSIZE ?RSS ? ? WCHAN ? ?PC ? ? ? ? NAME .........................省略................................. app_70 ? ?3407 ?100 ? 267104 22056 ffffffff afd0eb18 S com.teleca.robin.test (u:55, s:12) app_7 ? ? 3473 ?100 ? 268780 21784 ffffffff afd0eb18 S com.android.providers.calendar (u:16, s:8) radio ? ? 3487 ?100 ? 267980 21140 ffffffff afd0eb18 S com.osp.app.signin (u:11, s:12) system ? ?3511 ?100 ? 273232 22024 ffffffff afd0eb18 S com.android.settings (u:11, s:4) app_15 ? ?3546 ?100 ? 267900 20300 ffffffff afd0eb18 S com.sec.android.providers.drm (u:15, s:6) app_59 ? ?3604 ?100 ? 272028 22856 ffffffff afd0eb18 S com.wssyncmldm (u:231, s:54) root ? ? ?4528 ?2 ? ? 0 ? ? ?0 ? ? c0141e4c 00000000 S flush-138:13 (u:0, s:0) root ? ? ?4701 ?152 ? 676 ? ?336 ? c00a68c8 afd0e7cc S /system/bin/sh (u:0, s:0) root ? ? ?4702 ?4701 ?820 ? ?340 ? 00000000 afd0d8bc R ps (u:0, s:5) VSZIE:意義暫時不明。 VSS:請參考《Android內(nèi)存之VSS/RSS/PSS/USS》 注意1:由于RSS的價值不是很大,所以一般不用。 注意2:通過該命令提取RSS,已經(jīng)有了工具,具體參照《Android內(nèi)存泄露利器(RSS內(nèi)存統(tǒng)計篇)》及其系列。
static long?getNativeHeapFreeSize() Returns the amount of free memory in the native heap. 返回的是當(dāng)前進(jìn)程navtive堆中已經(jīng)剩余的內(nèi)存大小 static long?getNativeHeapSize() Returns the size of the native heap. 返回的是當(dāng)前進(jìn)程navtive堆本身總的內(nèi)存大小 示例代碼: ? ? ? ? ? Log.i(tag,"NativeHeapSizeTotal:"+(Debug.getNativeHeapSize()>>10)); ? ? ? ? ? Log.i(tag,"NativeAllocatedHeapSize:"+(Debug.getNativeHeapAllocatedSize()>>10)); ? ? ? ? ? Log.i(tag,"NativeAllocatedFree:"+(Debug.getNativeHeapFreeSize()>>10)); 注意:DEBUG中居然沒有與上面相對應(yīng)的關(guān)于dalvik的函數(shù)。 方式五、使用dumpsys meminfo命令。 我們可以在adb shell 中運行dumpsys meminfo命令來得到進(jìn)程的內(nèi)存信息。在該命令的后面要加上進(jìn)程的名字,以確定是哪個進(jìn)程。 比如"adb shell dumpsys meminfo?com.teleca.robin.test"?將得到com.teleca.robin.test進(jìn)程使用的內(nèi)存的信息:? Applications Memory Usage (kB): Uptime: 12101826 Realtime: 270857936 ? ** MEMINFO in pid 3407 [com.teleca.robin.test] ** ? ? ? ? ? ? ? ? ? ? native ? dalvik ? ?other ? ?total ? ? ? ? ? ??size: ? ? 3456 ? ? 3139 ? ? ?N/A ? ? 6595 ? ? ? ?allocated: ? ? 3432 ? ? 2823 ? ? ?N/A ? ? 6255 ? ? ? ? ? ??free: ? ? ? 23 ? ? ?316 ? ? ?N/A ? ? ?339 ? ? ? ? ? ?(Pss): ? ? ?724 ? ? 1101 ? ? 1070 ? ? 2895 ??(shared dirty): ? ? 1584 ? ? 4540 ? ? 1668 ? ? 7792 ? ??(priv dirty): ? ? ?644 ? ? ?608 ? ? ?688 ? ? 1940 ? ?Objects ? ? ? ? ? ?Views: ? ? ? ?0 ? ? ? ?ViewRoots: ? ? ? ?0 ? ? ?AppContexts: ? ? ? ?0 ? ? ? Activities: ? ? ? ?0 ? ? ? ? ? Assets: ? ? ? ?3 ? ?AssetManagers: ? ? ? ?3 ? ?Local Binders: ? ? ? ?5 ? ?Proxy Binders: ? ? ? 11 Death Recipients: ? ? ? ?0 ?OpenSSL Sockets: ? ? ? ?0 ? ?SQL ? ? ? ? ? ? heap: ? ? ? ?0 ? ? ? memoryUsed: ? ? ? ?0 pageCacheOverflo: ? ? ? ?0 ?largestMemAlloc: ? ? ? ?0 ? ? ?Asset Allocations ? ? zip:/data/app/com.teleca.robin.test-1.apk:/resources.arsc: 1K ?"size" 表示的是總內(nèi)存大小(kb)。, "allocated" 表示的是已使用了的內(nèi)存大小(kb),, "free"表示的是剩余的內(nèi)存大小(kb), 更多的可以參照方式三和方式四中的描述 現(xiàn)在已經(jīng)有了自動提取匯總dumpsys meminfo信息的工具,具體請參照《Android內(nèi)存泄露利器(內(nèi)存統(tǒng)計篇)》及其系列文章。 方式六、使用?"adb shell procrank"命令 如果你想查看所有進(jìn)程的內(nèi)存使用情況,可以使用"adb shell procrank"命令。命令返回將如下: ? PID ? ? ?Vss ? ? ?Rss ? ? ?Pss ? ? ?Uss ?cmdline ? 188 ? 75832K ? 51628K ? 24824K ? 19028K ?system_server ? 308 ? 50676K ? 26476K ? ?9839K ? ?6844K ?system_server ?2834 ? 35896K ? 31892K ? ?9201K ? ?6740K ?com.sec.android.app.twlauncher ? 265 ? 28536K ? 28532K ? ?7985K ? ?5824K ?com.android.phone ? 100 ? 29052K ? 29048K ? ?7299K ? ?4984K ?zygote ? 258 ? 27128K ? 27124K ? ?7067K ? ?5248K ?com.swype.android.inputmethod ? 270 ? 25820K ? 25816K ? ?6752K ? ?5420K ?com.android.kineto ?1253 ? 27004K ? 27000K ? ?6489K ? ?4880K ?com.google.android.voicesearch ?2898 ? 26620K ? 26616K ? ?6204K ? ?3408K ?com.google.android.apps.maps:FriendService ? 297 ? 26180K ? 26176K ? ?5886K ? ?4548K ?com.google.process.gapps ?3157 ? 24140K ? 24136K ? ?5191K ? ?4272K ?android.process.acore ?2854 ? 23304K ? 23300K ? ?4067K ? ?2788K ?com.android.vending ?3604 ? 22844K ? 22840K ? ?4036K ? ?3060K ?com.wssyncmldm ? 592 ? 23372K ? 23368K ? ?3987K ? ?2812K ?com.google.android.googlequicksearchbox ?3000 ? 22768K ? 22764K ? ?3844K ? ?2724K ?com.tmobile.selfhelp ? 101 ? ?8128K ? ?8124K ? ?3649K ? ?2996K ?/system/bin/mediaserver ?3473 ? 21792K ? 21784K ? ?3103K ? ?2164K ?com.android.providers.calendar ?3407 ? 22092K ? 22088K ? ?2982K ? ?1980K ?com.teleca.robin.test ?2840 ? 21380K ? 21376K ? ?2953K ? ?1996K ?com.sec.android.app.controlpanel ...................................................................................................................... 關(guān)于VSS,RSS,PSS,USS的意義請參考《Android內(nèi)存之VSS/RSS/PSS/USS》 注意1:這里的PSS和方式四PSS的total并不一致,有細(xì)微的差別。為什么呢?這是因為procrank 命令和meminfo命令使用的內(nèi)核機制不太一樣,所以結(jié)果會有細(xì)微差別 注意2:這里的Uss?和方式四的Priv Dirtyd的total幾乎相等.他們似乎表示的是同一個意義。但是現(xiàn)在得到的關(guān)于它們的意義的解釋卻不太相同。難道這里Private的都是dirty(這里指不能換頁)??Puzzle! 方式七、使用"adb shell cat /proc/meminfo" 命令。 該方式只能得出系統(tǒng)整個內(nèi)存的大概使用情況。 MemTotal: ? ? ? ? 395144 kB? MemFree: ? ? ? ? ?184936 kB? Buffers: ? ? ? ? ? ? 880 kB? Cached: ? ? ? ? ? ?84104 kB? SwapCached: ? ? ? ? ? ?0 kB? ................................................................................................ MemTotal?:可供系統(tǒng)和用戶使用的總內(nèi)存大小?(它比實際的物理內(nèi)存要小,因為還有些內(nèi)存要用于radio, DMA buffers, 等).? MemFree:剩余的可用內(nèi)存大小。這里該值比較大,實際上一般Android system 的該值通常都很小,因為我們盡量讓進(jìn)程都保持運行,這樣會耗掉大量內(nèi)存。 Cached:?這個是系統(tǒng)用于文件緩沖等的內(nèi)存. 通常systems需要20MB 以避免bad paging states;。當(dāng)內(nèi)存緊張時,the Android out of memory killer將殺死一些background進(jìn)程,以避免他們消耗過多的cached RAM ,當(dāng)然如果下次再用到他們,就需要paging. 那么是說background進(jìn)程的內(nèi)存包含在該項中嗎? 方式八,使用“adb shell ps -x”命令 該方式主要得到的是內(nèi)存信息是VSIZE 和RSS。 USER ? ? PID ? PPID ?VSIZE ?RSS ? ? WCHAN ? ?PC ? ? ? ? NAME .........................省略................................. app_70 ? ?3407 ?100 ? 267104 22056 ffffffff afd0eb18 S com.teleca.robin.test (u:55, s:12) app_7 ? ? 3473 ?100 ? 268780 21784 ffffffff afd0eb18 S com.android.providers.calendar (u:16, s:8) radio ? ? 3487 ?100 ? 267980 21140 ffffffff afd0eb18 S com.osp.app.signin (u:11, s:12) system ? ?3511 ?100 ? 273232 22024 ffffffff afd0eb18 S com.android.settings (u:11, s:4) app_15 ? ?3546 ?100 ? 267900 20300 ffffffff afd0eb18 S com.sec.android.providers.drm (u:15, s:6) app_59 ? ?3604 ?100 ? 272028 22856 ffffffff afd0eb18 S com.wssyncmldm (u:231, s:54) root ? ? ?4528 ?2 ? ? 0 ? ? ?0 ? ? c0141e4c 00000000 S flush-138:13 (u:0, s:0) root ? ? ?4701 ?152 ? 676 ? ?336 ? c00a68c8 afd0e7cc S /system/bin/sh (u:0, s:0) root ? ? ?4702 ?4701 ?820 ? ?340 ? 00000000 afd0d8bc R ps (u:0, s:5) VSZIE:意義暫時不明。 VSS:請參考《Android內(nèi)存之VSS/RSS/PSS/USS》 注意1:由于RSS的價值不是很大,所以一般不用。 注意2:通過該命令提取RSS,已經(jīng)有了工具,具體參照《Android內(nèi)存泄露利器(RSS內(nèi)存統(tǒng)計篇)》及其系列。
總結(jié)
以上是生活随笔為你收集整理的Android中如何查看内存(上)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DM8168芯片级资源
- 下一篇: ntfs安全权限和共享权限的区别