android内存分析
一介闲休
读书不求博学只为休闲
展开
-
Android内存泄露分析之StrictMode
StrictMode(严格模式)使用StrictMode严格模式,主要用来检测程序中违例情况的开发者工具。最常用的场景就是检测主线程中本地磁盘、网络读写等耗时的操作以及Activity泄露等,但该模式不建议在Release版本开启,此外该模式无法监控JNI中的磁盘IO和网络请求且其违例情况仅供参考,需结合实际开发需求予以解决。 StrictMode检测什么?主要采用采用Thre原创 2016-01-15 17:07:35 · 3745 阅读 · 0 评论 -
内存泄露分析之MAT工具使用
MAT工具使用理解相关概念在了解MAT工具之前,我们需先对以下几个概念有所认知:1)强引用、弱引用、软引用、虚引用2)Shallow Size、Retained Size、Heap Size和AllocatedMAT工具实战看完1)、2)两篇博客,相信大家此时对几个概念已具备了一定认知,下面就进入正题MAT工具的使用,说到MAT工具(Memory Analyzer原创 2016-01-15 17:39:52 · 11171 阅读 · 0 评论 -
强引用、弱引用和软引用
谈到这四种引用,先让我做个这样的比喻,JVM好比你,内存好比你的抽屉,你日常生活中必需品好比强引用,日常生活中可能用到的东西(即非必需品)好比软引用或弱引用。当你的抽屉还很空的时候,放些可能以后会用到的东西,你也不会在意。但随着你买了很多生活必需品时,但你的抽屉已放不下了且你又没有其他空间可以存放它们,这时你就会将根据一些重要程度选择一些东西扔出抽屉,这个过程就好比JVM垃圾回收,JVM在内存不紧原创 2016-01-07 22:32:14 · 2280 阅读 · 0 评论 -
Shallow Size、Retained Size、Heap Size和Allocated
Shallow Size:对象本身占用的内存空间,不包含其引用的对象,但在JAVA中除基本类型外,一切均为对象,也就是说持有的一直为对象的引用,如String类型对象,它主要包含3个int成员(3*4B)、1个char[]成员(1*4B)以及一个对象头(8B),尽管char[]可能指向一大块字符,但String对象里只有一个引用所占4B的空间,因此String类型对象的Shallow Size原创 2016-01-14 14:39:08 · 8054 阅读 · 0 评论 -
手机获取root权限后procrank无法执行或can't find procrank
最近在研究android性能分析时需要考虑PSS,USS指标,网上的资料都是通过adb shell procrank | grep 即可获取该进程的Vss,Rss,Pss和Uss。但该命令通常需要手机获取root权限,其实root权限通过KingRoot,刷机精灵等软件均可获取。当你觉得条件均具备的时候,你在命名窗口输入adb shell procrank时要么显示无法找到该命令,要么就是显原创 2016-02-16 20:12:59 · 3975 阅读 · 1 评论 -
性能优化之布局优化
本博文主要讲解布局优化的整体流程,旨在记录思路,以便后续查阅原创 2016-03-31 16:30:16 · 1130 阅读 · 1 评论 -
Android 实用工具Hierarchy Viewer实战
本博文主要讲解hierarchy view如何使用转载 2016-03-31 16:54:22 · 397 阅读 · 0 评论 -
Android系统性能调优工具介绍
在软件开发过程中,想必很多读者都遇到过系统性能问题。而解决系统性能问题的几个主要步骤是:测评:对系统进行大量有针对性的测试,以得到合适的测试数据。分析系统瓶颈:分析测试数据,找到其中的hotspot(热点,即bottleneck)。性能优化:对hotspot相关的代码进行优化。由上述步骤可知,性能优化的目标对象是hotspot。如果找到的hotspot并非真正的热点,则性能优化的结转载 2016-03-31 17:11:38 · 432 阅读 · 0 评论