![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
性能优化
文章平均质量分 88
子木-沐阳
纸上得来终觉浅,觉知此事必躬行
展开
-
Android 内存泄露常见场景汇总
心情么么哒,又可以白嫖咯…常见概念什么是内存泄露?该被GC回收的内存没有被回收。讲人话:短生命周期的引用被长生命周期的对象持有,导致短生命周期的对象的内存无法被GC回收。举个例子:非静态内部类默认持有外部类的引用,不幸的是,我们在外部类创建了一个该内部类的静态实例。静态实例的生命周期与长与普通实例的生命周期,而静态实例是可以作为GCRoots的根节点的,导致GC在进行可达性分析时,外部类的引用一直在引用链上,不被回收。这样就导致了外部类对象的内存泄露。持续的内存泄露会导致内存溢出什么是内存原创 2021-11-12 17:02:06 · 1967 阅读 · 0 评论 -
Android--耗电优化
谁在消耗手机电池的电量我们写的应用程序不会直接消耗手机电池的电量,而会通过使用手机的硬件模块来消耗电量。例如:CPU,WIFI 模块, GPS 模块,NetWork 模块, WakeLock 模块, 音视频,Screen…电量与应用程序电量计算公式:** 电量 = 电压 * 电流 * 时间 **。一般,手机的电压是恒定的,所以,电量只与电流和时间的乘积有关。所以,模块电量计算公式:**模块电量= 模块电流 * 模块使用时长 **。不同的模块,单位时间内消耗的电流不一样。如何获取模块单位时间.原创 2021-10-13 18:51:23 · 1466 阅读 · 0 评论 -
关于对象池的一些分析和总结
文章目录定义如何设计一个对象池实例 OkHttp的网络连接池定义有借有还,先放在这,突然觉的这句话与对象池很配!!!将具有生命周期期的结构化对象缓存到带有一定管理功能的容器中,以提高对象的访问性能。对象池与普通的本地 cachce 缓存策略有什么不同? 第一:本地 cache常常会有一些失效策略,比如按照时间,访问量等,而 对象池是没有这些特性的;第二:缓存中的对象是没有一个完整生命周期的概念,而对象池中的对象是具有完整生命周期的,而且我们还可以管理这些生命周期。从上面不难看出,对象池的目的: 减原创 2020-07-17 15:38:10 · 277 阅读 · 0 评论 -
Android——UI卡顿分析与整理
文章目录以下内容,参考至 [面对 UI 卡顿,如何入手分析解决问题](https://kaiwu.lagou.com/course/courseInfo.htm?courseId=67#/detail/pc?id=1881)什么导致了卡顿怎么分析卡顿问题CPU&GPUVsyncChoreographerSystrace 工具卡顿常出现的场景以下内容,参考至 面对 UI 卡顿,如何入手分析解决问题什么导致了卡顿内存抖动是造成 UI 卡顿的最主要原因。内存抖动的原因是频繁的创建和回收对象。而回收对原创 2020-07-16 17:30:04 · 551 阅读 · 0 评论