大学英语精读第三版,中秋归来 打一词牌名,paperpass与知网
内存抖动:指的是在短时间内大量的新对象被实例化,运行时无法承载这样的内存分配,在这种情况下垃圾回收事件被大量调用,影响到应用程序的ui和整体性能。
android studio提供了一个 profile的工具,可以帮助我们分析内存情况,在studio的上不有一个表盘的图标
点击红框图标,然后就会运行当前项目,选中连接的手机,然后在studio的底部就会出现一个android profile的工具项(如下图)。
我们会看到有cpu,memory,network三个选项,我们要监控的是内存,所以点击memory,会进入下图
在这张图中我们可以看到我们当前应用所占的内存total,我们这里重点说一下左上角的三个按钮分别是:
gc手动垃圾回收 收集当前页面的内存情况并生成hprof文件 记录当前操作的内存情况
首先我们调用gc是当前内存处于稳定状态,然后点击红色按钮开始记录内存状况,然后我们开始在手机上进行操作(一般这个时候会发现平稳的曲线开始波动),然后我们点击停止按钮,回出现下图的情况。
框框内是我们当前记录的操作区间,当我们点击停止按钮的时候,
在class name这个框内,会生成当前记录区间(操作过程)的堆信息。
我们发现我们的曲线有一个向上的陡坡,说明我们的操作造成了大量的内存分配,通过下面堆信息我们来找一下是什么造成了大量的内存分配。
我们发现堆信息是从大到小排列的,而第一条是的imageview,明显这里有问题,点击进去发现有大量的imageview对象,点击其中的一个,右下角的框框会显示该对象的具体位置信息。至此我们找到了造成内存抖动的罪魁祸首,
当然,这里的内存抖动是我人为加上去的,比较明显,但是原理是一样的。
kotlin写android项目实战
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android Manifest中meta-data扩展元素数据的配置与获取方式
Android实现获取meta-data和build.gradle的值
Android获取清单文件中的meta-data,解决碰到数值为null的问题
解决webview 第二次调用loadUrl页面不刷新的问题
解决Android WebView拦截url,视频播放加载失败的问题
Android webview加载https链接错误或无响应的解决
网友评论