1?????????й????????


??C++????治???C++?????й???????????????????????????л????????Java?????й????????????Щ?????????????????????????Щ??????????????????ù???

Jave?е????÷??3???

?????????????????Java??????????????????????????д???????????????á?

???????????治???????Java???????????????????????á?

???????Jave??????????????ζ?????????????á?

?????MAT?????????????Android?????????????????????SDK??Eclipse??

1.??Eclipse

2.??? Help->Install New Software;

3.??Work with????????http://download.eclipse.org/mat/1.0/update-site/?????????????仯???????μ?????????????????????http://www.eclipse.org/mat/downloads.php ??

4.????.hprof???:????SD????Android?????????????????SD???????????豸?????PC????Eclipse?е?DDMS????????????????????Update Heap ??Dump HPROF file????Button??

.hprof ??????????????SD??????? .hprof ?????????PC??? android-sdk-windows ools??????????DDMS?????????????????MAT????????????

????cmd???????У?cd?? android-sdk-windows ools??????????????????hprof-conv xxxxx.hprof yyyyy.hprof??????xxxxx.hprof????????yyyyy.hprof????????????????????????????????android-sdk-windows ools ?????

OK??????????.hprof??????????????????????????й???????

5.??MAT??

??Eclipse?е??Windows->Open Perspective->Other->Memory Analysis

6.????.hprof???

??MAT?е?? File->Open File????????????????????.hprof???????Cancel???????????棬???Dominator Tree??????Package???飬?????????????Package ?????????????????????List objects->With incoming references??

??????г????п????????????????????Path to GC Roots->exclude weak/soft references???????????????????????????????й??????????????????????е?????????й?????
2???????

Android??????????????

???????foreground?????????????????????????Щ????????????????Dialer Storage??Google Search????????????????????????????????????????????????????????????????????????????????????????foreground???????????home????????棬????????????????background?????????????????????????????
????????????visible??????????????Щ???????????????????????????????????widget???????????????visible?????????????????????????????????????????????????????????????????????????????????????widget?????????????????????????????????????????????????????????????????????????
???????????secondary server?????????????е??Щ????????????粦??????????????????????????????????????????????????????????????Gmail????洢???????????洢????????????????????????????Щ????????????????????????????????????????????????????
????????????hidden???????????????hidden?????????????????????background?????????????????????????????л???????????????????????????????????????????????????????е?????????????foreground????????????home?????????棨??????home???????back????????????????????????????background???????????????????ж?????н??????????????????????????????????????????????????????????????????????????????н????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????content provider??????г?????壬????????????????????????????????????????????????????????????????????н????????
??????????empty????????κζ??????????е???????Щ????????BTE?????????????????????????????????????????????????κ??????????У??????????????ó????′ε??????????????????Щ??????????????????????????????????????????????????????????????????“oom_adj”????????????????????????????????????“oom_adj”???ж??????????Щ?????????????“oom_adj”???????y?????????????????????
???????????“oom_adj”??0??????ζ??????????????????????????????????????“oom_adj”?????????“oom_adj”?????????????LRU?б??е?λ???????????
Android?????Linux???????????????????????飬???????и????????????????“oom_adj”????Χ?????????????????????????趨“?????С??X???????“oom_adj”????Y?????”??????????????????д?????????