性能优化
文章平均质量分 55
anr、内存溢出oom、内存泄漏ml等
Mars-xq
好记性不如烂笔头。
展开
-
apk优化 :android:extractNativeLibs 升级gradle之后发现 打包出来的apk体积突然大了将近一倍。
但用户在手机端进行apk安装时,系统会对压缩后的so库进行解压,从而造成用户安装apk的时间变长。时,gradle打包时会对工程中的so库进行压缩,最终生成apk包的体积会减小。升级gradle之后发现 打包出来的apk体积突然大了将近一倍。gradle 升级后 其默认值发生了改变。默认值设定方面,若开发人员未对。时会将工程so库进行压缩。原创 2022-10-19 16:26:06 · 2850 阅读 · 0 评论 -
项目优化 : Android中回收图片内存, setImageResource、setBackgroundResource占用内存大
【代码】项目优化 : Android中回收图片内存, setImageResource、setBackgroundResource。原创 2022-10-19 13:46:20 · 931 阅读 · 0 评论 -
常用 Android 开发者选项与卡顿原因
Android 开发者选项能够帮助我们定位开发中遇到的问题,辅助我们了解应用的性能问题,对提升开发和优化效率大有帮助。Stay awake (不锁定屏幕)充电时屏幕不会休眠Process Stats (进程统计信息)使用场景: 查看后台进程和资源占用,以图形的方式展示了后台运行的进程,以及相应的运行时间和内存占用。使用说明: 如图,左上角是指其统计的时间范围,而其下面的条形区域的进度颜色则显示了当前原创 2017-05-27 23:48:15 · 4768 阅读 · 0 评论 -
设置view是否可见与include的效果对比
先定义两个view用于监听view的绘制流程:MyIncludeView1@SuppressLint("AppCompatCustomView")public class MyIncludeView1 extends TextView { public MyIncludeView1(Context context) { super(context); } pub原创 2017-11-03 12:52:29 · 364 阅读 · 0 评论 -
android-布局优化:merge+include
介绍:1.merge布局 和FrameLayout类似,相同的效果.不同的是 merge布局只能被<include>标签包含. 或者Activity.setContentView所使用.当LayoutInflater遇到能被其他layout用<include>包含进去,并不再另外生成ViewGroup容器,本元素也特别有用这个标签时,它会跳过它,并将<merge />内的元素添加到<merge />原创 2017-06-01 18:32:53 · 421 阅读 · 0 评论 -
android-内部类导致的内存泄漏实战解析
参考: Android 如何有效的解决内存泄漏的问题 Java-内部类的相关知识非静态内部类: 成员内部类, 局部内部类、 匿名内部类。 会有对外部类的引用。内部类中耗时操作在用户频繁退出重启APP相关Activity时很容易导致内存泄漏。一、匿名内部类:Runnable1、泄漏版 new Thread(new Runnable() { @Override原创 2017-07-06 12:35:22 · 9093 阅读 · 1 评论 -
内存泄漏的检测
检测内存泄漏的方法1、Android device monitor –> memory 2、MAT(Memory Analyzer Tools):MAT下载地址 3、LeakCanary 强烈推荐: Android Studio和MAT结合使用来分析内存问题new Thread() :每次进入界面都会创建实例,并且不会被GC 非静态内存类的静态变量:只在第一次进入界面创建实例,并且不会被GC原创 2017-11-23 15:18:18 · 481 阅读 · 0 评论 -
Android-LeakCanary检测内存泄漏
参考: Android性能优化之利用LeakCanary检测内存泄漏及解决办法LeakCanary 中文使用说明什么是内存泄漏?有些对象只有有限的生命周期。当它们的任务完成之后,它们将被垃圾回收。如果在对象的生命周期本该结束的时候,这个对象还被一系列的引用,这就会导致内存泄漏。随着泄漏的累积,app将消耗完内存。内存泄漏造成什么影响?它是造成应用程序OOM的主要原因之一。由于android系统为原创 2017-07-06 15:02:35 · 540 阅读 · 0 评论 -
viewpager.setcurrentitem导致的ANR
参考:Java线程Dump分析工具–jstackdump 文件里,值得关注的线程状态有: 死锁,Deadlock(重点关注) 执行中,Runnable 等待资源,Waiting on condition(重点关注) 等待获取监视器,Waiting on monitor entry(重点关注) 暂停,Suspended 对象原创 2018-01-03 15:04:29 · 4246 阅读 · 2 评论 -
Android-ANR
参考:如何分析解决Android ANR App性能优化系列6-ANR详解一:什么是ANRANR : Application Not Responding,即应用无响应。二:ANR的类型ANR一般有三种类型: 1:KeyDispatch Timeout(5 seconds) –主要类型 按键或触摸事件 在特定时间内无响应 2:Broadcast Timeout(10 seconds) Br......原创 2017-05-14 01:15:52 · 690 阅读 · 0 评论