Android基础知识优化相关
文章平均质量分 75
唯你专属2015
实力碾压一切
展开
-
轮询操作优化
目录介绍 01.轮询操作是啥 02.轮训请求实践 2.1 与长连接相关的轮训请求 2.2 与页面相关的轮训请求 01.轮询操作是啥 什么叫轮训请求? 简单理解就是App端每隔一定的时间重复请求的操作就叫做轮训请求,比如:App端每隔一段时间上报一次定位信息,App端每隔一段时间拉去一次用户状态等,这些应该都是轮训请求。 为何不用长连接代替轮训操作? 长连接并不是稳定的可靠的,而执行轮训操作的时候一般都是要稳定.原创 2021-05-18 09:30:51 · 843 阅读 · 0 评论 -
对象池Pools优化
目录介绍 01.什么是对象池 02.glide哪里用到对象池 03.多条件key缓存bitmap 3.1 多条件key创建 3.2 key值的复用 04.glide对象池总结 05.学以致用对象池 5.1 使用场景 5.2 实现步骤 5.3 对象池使用 5.4 项目实践分享 06.对象池的容量 01.什么时对象池 对象池作用 在某些.原创 2021-05-18 09:28:05 · 274 阅读 · 0 评论 -
APP卡顿原因
目录介绍 01.Android卡顿原理 02.复杂的视图树 03.频繁的requestlayout() 04.UI线程被阻塞 05.内存抖动 01.Android卡顿原理 通过对Android绘制机制的了解,我们知道造成应用卡顿的根源就在于16ms内不能完成绘制渲染合成过程,因为Android平台的硬件刷新率为60HZ,大概就是16ms刷新一次。如果没能在16ms内完成这个过程,就会使屏幕重复显示上一帧的内容,即造成了卡顿。在这16ms内,需要完.原创 2021-05-18 09:22:31 · 1582 阅读 · 0 评论 -
APP瘦身优化
目录介绍 1.APK组成 1.1 APK组成部分 2.如何压缩优化apk 2.1 资源方面 2.2 代码方面 3.其他操作 3.1 lint检查 3.2 如何检测哪些图片未被使用 3.3 如何检测哪些无效代码 4.对比前后 1.APK组成1.1 APK组成部分 如下所示 res:包含未编译到的资源 resources.arsc,主要有图片资源文件;.原创 2021-05-18 09:20:47 · 159 阅读 · 0 评论 -
静态变量优化
目录介绍 01.不要用静态变量保存核心数据 02.实际开发中遇到的问题 01.为啥不要用静态变量保存核心数据 尽量不使用静态变量保存核心数据。这是为什么呢? 这是因为android的进程并不是安全的,包括application对象以及静态变量在内的进程级别变量并不会一直呆着内存里面,因为它很有会被kill掉。 当被kill掉之后,实际上app不会重新开始启动。Android系统会创建一个新的Application对象,然后启动上次用户离开时的acti.原创 2021-05-18 09:16:48 · 234 阅读 · 0 评论 -
图片优化
目录介绍 01.bitmap优化 02.glide加载优化 01.bitmap优化 加载图片所占的内存大小计算方式 加载网络图片:bitmap内存大小 = 图片长度 x 图片宽度 x 单位像素占用的字节数【看到网上很多都是这样写的,但是不全面】 加载本地图片:bitmap内存大小 = width * height * nTargetDensity/inDensity 一个像素所占的内存。注意不要忽略了一个影响项:Density 第一种.原创 2021-05-18 09:11:25 · 142 阅读 · 0 评论 -
APP启动页优化
目录介绍 01.存在白屏问题 1.1 问题描述 1.2 问题分析 02.解决白屏的办法 2.1 解决方案分析 2.2 第一种解决方案 2.3 第二种解决方案 03.Application启动速度优化 04.启动页面屏蔽返回按键 01.存在白屏问题1.1 问题描述 出现问题描述 android app启动页面黑屏的问题,android开发app启动时若没有做特殊处理.原创 2021-05-18 09:08:56 · 144 阅读 · 0 评论 -
APP线程优化
目录介绍 01.创建Thread弊端 02.为何要用线程池 03.那些地方使用线程池 01.创建Thread弊端 直接创建Thread实现runnable方法的弊端 大量的线程的创建和销毁很容易导致GC频繁的执行,从而发生内存抖动现象,而发生了内存抖动,对于移动端来说,最大的影响就是造成界面卡顿 线程的创建和销毁都需要时间,当有大量的线程创建和销毁时,那么这些时间的消耗则比较明显,将导致性能上的缺失 02.为何要用线程池..原创 2021-05-18 09:03:02 · 106 阅读 · 0 评论 -
网络优化
目录介绍 01.图片分类优化 02.获取网络数据优化 03.网络请求异常拦截优化 01.图片分类优化 图片网络优化 比如我之前看到豆瓣接口,提供一种加载图片方式特别好。接口返回图片的数据有三种,一种是高清大图,一种是正常图片,一种是缩略小图。当用户处于wifi下给控件设置高清大图,当4g或者3g模式下加载正常图片,当弱网条件下加载缩略图【也称与加载图】。 简单来说根据用户的当前的网络质量来判断下载什么质量的图片(电商用的比较多)。豆瓣..原创 2021-05-17 16:29:09 · 138 阅读 · 0 评论 -
布局优化
目录介绍 01.常见布局优化方法 02.使用include标签 03.ViewStub深度解析 04.视图层级<merge/> 05.其他一些小建议 01.常见布局优化方法 布局优化的核心就是尽量减少布局文件的层级,常见的方式有: 多嵌套情况下可使用RelativeLayout减少嵌套。 布局层级相同的情况下使用LinearLayout,它比RelativeLayout更高效。 使用<i.原创 2021-05-17 16:31:46 · 1352 阅读 · 2 评论 -
代码优化
目录介绍 01.代码优化有哪些 02.lint检查去除无效代码 03.代码规范优化 04.View异常优化 05.去除淡黄色警告优化 06.合理使用集合 07.Activity不可见优化 08.节制的使用Service 01.代码优化有哪些 都是一些微优化,在性能方面看不出有什么显著的提升的。使用合适的算法和数据结构是优化程序性能的最主要手段。 02.lint检查去除无效代码 lint去除无效资源和代码.原创 2021-05-18 08:57:37 · 70 阅读 · 0 评论 -
懒加载优化
目录介绍 1.什么是懒加载 1.1 什么是预加载 1.2 懒加载介绍 1.3 懒加载概括 2.实际应用中有哪些懒加载案例 2.1 ViewPager+Fragment组合 2.2 分析源码 3.ViewPager中setOffscreenPageLimit(int limit)相关源码 4.关于ViewPager与Fragment懒加载 4.1 遇到的问题 4.2 主原创 2021-05-18 08:54:32 · 134 阅读 · 0 评论