研究了Mat和Heap的分析方法之后,尝试用其他的方式来分析下,Androiddumpsys
的方式来看下结果。如何得出数据的操作就不说了,网上太多了,只看数据来进行分析。如图1,启动的时候的情况执行三次怀疑有泄露的功能之后的数据再执行三次再执行三次数据分析:Native
数据代表的是JNI层的数据...
分类:
移动开发 时间:
2014-06-29 15:01:43
阅读次数:
269
使用了Heap视图的方式来分析内存泄露之后,我们尝试用MAT插件来分析下。MAT,提供了太强大的功能,以至于在测试的过程中也是懵懂的,没有彻底的研究。1.
安装AndroidSdk,Java SDK,Eclipse之类的软件之后,2. 安装Eclipse MAT插件3. 调出DDMS的Heap视图4...
分类:
其他好文 时间:
2014-06-29 14:54:30
阅读次数:
297
内存泄漏的问题,在百度是遇到最多的,阿里相对少点。与内存泄漏斗争了很久,我总结下常用的一些有效测试方法吧。1、valgrind,这是非常好用的工具,虽然参数很多,输出结果较多,但是只要认真看下,就很容易发现问题,报告是很详细的,不要被吓倒。valgrind检测的内存泄漏是非常准的,可以精确定位到代码...
分类:
其他好文 时间:
2014-06-07 04:41:11
阅读次数:
169
转载自:http://www.cnblogs.com/qianxudetianxia/p/3645106.htmlContext作为最基本的上下文,承载着Activity,Service等最基本组件。当有对象引用到Activity,并不能被回收释放,必将造成大范围的对象无法被回收释放,进而造成内存泄...
分类:
移动开发 时间:
2014-06-07 04:40:33
阅读次数:
258
转载地址:http://www.cnblogs.com/qianxudetianxia/p/3655475.html5.
AsyncTask对象 我N年前去盛大面过一次试,当时面试官极力推荐我使用AsyncTask等系统自带类去做事情,当然无可厚非。
但是AsyncTask确实需要额外注意一下。.....
分类:
移动开发 时间:
2014-06-07 04:39:11
阅读次数:
349
条款14:在资源管理类中小心coping行为
在前一个条款,我们提出了RAII(资源获得即是初始化)技术,通过“对象管理资源”达到防止资源泄露,对于通过堆分配的内存,可以借助指针指针实现,但系统中有很多资源不是堆分配:文件句柄,锁,网络套接字。这些资源就需要自己实现对象来管理。...
分类:
其他好文 时间:
2014-06-05 10:48:28
阅读次数:
210
当前是有些工具比如apktool,dextojar等是可以对我们android安装包进行反编译,获得源码的。为了减少被别人破解,导致源码泄露,程序被别人盗取代码,等等。我们需要对代码进行混淆,android的sdk中为我们提供了ProGrard这个工具,可以对代码进行混淆(一般是用无意义的名字来重命名),以及去除没有使用到的代码,对程序进行优化和压缩,这样可以增加你想的难度。最近我做的项目,是我去...
分类:
移动开发 时间:
2014-06-04 13:45:31
阅读次数:
417
YES,it's so easy,what we need to do is just include ,then the information of
memory leaking will be shown on the screen....
分类:
其他好文 时间:
2014-05-31 21:14:52
阅读次数:
334
在《Effective Java 2nd
Edition》中,第6条“消除过期的对象引用”提到,虽然Java有
垃圾回收机制,但是只要是自己管理的内存,就应该警惕内存泄露的问题,例如的对象池、缓存中的过期对象都有可能引发内存泄露的问题。书中还提到可以用
WeakHashMap来作为缓存的容器可以有效...
分类:
移动开发 时间:
2014-05-26 17:15:42
阅读次数:
312
1.什么是闭包?函数嵌套函数内部函数可以引用外部函数的参数和变量参数和变量不会被JS中的垃圾回收机制
所收回2.闭包有啥好处?应用在哪?①希望一个变量长期驻扎在内存中②避免全局变量的污染③私有成员的存在应用:①模块化代码②在循环中直接找到对应元素的索引3.闭包需要注意的地方?IE下可能会引发内存泄露
分类:
其他好文 时间:
2014-05-25 14:10:45
阅读次数:
192