@echo off
call config.bat
set typeNameCol=1
set nativeValueCol=2
set dalvikValueCol=3
set dalvikOtherCol=4
Setlocal enabledelayedexpansion
set path=%path%;%cd%\lib
set /a processNo=0
for %%i in (%processName%) do (
set /a processNo+=1
)
set /a cnt=0
set str=
if "%processShortName%"=="" (
set /a cnt=0
for %%i in (%processName%) do (
set str=%%i
set str=!str:.= !
call getSubStr "!str!" -1
set result=!getSubStr~result!
if !cnt! EQU 0 (
set processShortName=!result!
) else (
set processShortName=!processShortName!;!result!
)
set /a cnt+=1
)
) else (
set /a cnt=0
for %%i in (%processShortName%) do (
set /a cnt=!cnt!+1
)
if not !cnt! EQU %processNo% (
echo the number of process Name is %processNo%
echo the number of process Short Name is !cnt!
echo they should be equal.Please check again!
exit 0
)
)
if not exist %rawDatadir% (
md %rawDatadir%
)
if not exist %outRoot% (
md %outRoot%
)
call genSerial
set serial=!genSerial~result!
set meminfoFile=%rawDatadir%\meminfo%serial%.txt
set slipChar=,
:Loop0Start:
set /a processTotalNumber=cnt
set /a processNo=0
:Loop0Head
call getSubStr "%processShortName%" %processNo%
set curProcessShortName=%getSubStr~result%
call getSubStr "%processName%" %processNo%
set curProcessName=%getSubStr~result%
:GetRawMemInfoFile
set statFile=%outRoot%\%statFilePrefix%_Memory_%curProcessShortName%.txt
adb shell "dumpsys meminfo %curProcessName%" >%meminfoFile%
if not exist %statFile% (
set slipChar=
goto ReadRawMemInfoFile
)
:ReadMemInfoStatisticFile
set NativeSize=
set DalvikSize=
set OtherSize=
set TotalSize=
set NativeAllocated=
set DalvikAllocated=
set OtherAllocated=
set TotalAllocated=
set NativePSS=
set DalvikPSS=
set OtherPSS=
set TotalPSS=
set NativeFree=
set DalvikFree=
set OtherFree=
set TotalFree=
set /a cnt=0
FOR /F "delims=: tokens=2" %%i in (%statFile%) do (
if !cnt! EQU 0 (
set NativeSize=%%i
)
if !cnt! EQU 1 (
set DalvikSize=%%i
)
if !cnt! EQU 2 (
set NativeAllocated=%%i
)
if !cnt! EQU 3 (
set DalvikAllocated=%%i
)
if !cnt! EQU 4 (
set NativePSS=%%i
)
if !cnt! EQU 5 (
set DalvikPSS=%%i
)
set /a cnt+=1
)
:ReadRawMemInfoFile
set /a cnt=0
FOR /F "skip=1 tokens=1,2,3,4,5,6,7,8" %%i in (%meminfoFile%) do (
if !cnt! EQU 4 (
set NativeSize=!NativeSize!%slipChar%%%j
set DalvikSize=!DalvikSize!%slipChar%%%k
set OtherSize=!OtherSize!%slipChar%%%l
set TotalSize=!TotalSize!%slipChar%%%m
)
if !cnt! EQU 5 (
set NativeAllocated=!NativeAllocated!%slipChar%%%j
set DalvikAllocated=!DalvikAllocated!%slipChar%%%k
set OtherAllocated=!OtherAllocated!%slipChar%%%l
set TotalAllocated=!TotalAllocated!%slipChar%%%m
)
if !cnt! EQU 6 (
set NativeFree=!NativeFree!%slipChar%%%j
set DalvikFree=!DalvikFree!%slipChar%%%k
set OtherFree=!OtherFree!%slipChar%%%l
set TotalFree=!TotalFree!%slipChar%%%m
)
if !cnt! EQU 7 (
set NativePSS=!NativePSS!%slipChar%%%k
set DalvikPSS=!DalvikPSS!%slipChar%%%l
set OtherPSS=!OtherPSS!%slipChar%%%m
set TotalPSS=!TotalPSS!%slipChar%%%n
)
set /a cnt+=1
)
:SaveToMemInfoStatisticFile
echo NativeSize:%NativeSize%>%statFile%
echo DalvikSize:%DalvikSize%>>%statFile%
echo NativeAllocated:%NativeAllocated%>>%statFile%
echo DalvikAllocated:%DalvikAllocated%>>%statFile%
echo NativePSS:%NativePSS%>>%statFile%
echo DalvikPSS:%DalvikPSS%>>%statFile%
:Loop0Tail
set /a processNo+=1
if %processNo% LSS %processTotalNumber% (
goto Loop0Head
)
:Loop0End
echo success!
endlocal
注意:需要把bat库genSerial.bat,getSubStr.bat放在子目录lib中。
相关推荐
上面是官方文档给出的介绍,LeakCanary是一个在android上检测内存泄漏的依赖。 使用方法 只需要在你的build.gradle中添加如下依赖即可。 debugImplementation ‘com.squareup.leakcanary:leakcanary-android:2.2’ ...
Android native 层代码内存泄漏问题调试利器
Android SQLiteSpy数据库利器 欢迎大家下载使用
主要为大家详细介绍了Android内存泄漏排查利器LeakCanary的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
用于检查编写的代码中内存泄露点,是编程人员提高代码质量、减少bug的利器
Android反编译利器,反编译别人的apk获取相关资源文件
Android反编译利器.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
资源名称:Android群英传:神兵利器内容简介:《Android群英传:神兵利器》以通俗易懂的语言介绍了Android开发的工具使用。《Android群英传:神兵利器》共分为7章。第1章主要讲解如何搭建一个优雅、令人愉悦的开发...
Android投屏利器Screen,工具可以进行Android投屏,并对屏幕进行控制
Android 反编译利器, jadx 优点: 1. 图形化的界面。 2. 拖拽式的操作。 3. 反编译输出 Java 代码。 4. 导出 Gradle 工程。
《Android群英传神兵利器》16年出版,入门,提高,非常推荐的一本书。
Android Http 网络开发神兵利器
flash 调试利器,可以局域网pc -pc - mobile等之间调试。非常方便。 还可以查看内存泄露等
第一章 android界面设计利器 一般公司都有专业的前端UI设计师来负责移动端界面的设计但是往往前端UI设计师 很难和程序设计人员配合密切。前端UI设计师的目的在于如何让程序更加美观有些资深 的前端UI设计师...
Android投屏利器QtScrcpy,工具可以进行Android投屏,并对屏幕进行控制
genymotion模拟器,Android开发,安卓玩游戏,多平台,启动快
中午版CE 大家都知道的 CE是修改内存的利器 但是你不认识英文 我正好给你提供了 中午版的CE 大家下载吧
Android反编译利器apk改之理亲测可用
分析oom的利器,内存分析工具eclipse插件