性能优化
文章平均质量分 89
Android性能优化相关文章
VincentWei95
这个作者很懒,什么都没留下…
展开
-
Android 性能优化系列:启动优化进阶
应用的速度优化是我们使用最频繁,也是应用最重要的优化之一,它包括启动速度优化、页面打开速度优化、功能或业务执行速度优化等等,能够直接提升应用的用户体验。大部分人谈到速度优化,只能想到一些零碎的优化点,比如使用多线程、预加载等等,没有一个较为体系的优化方案。那么我们要怎么体系化的学习启动优化呢?能从哪些方面入手?从底层来看,CPU、缓存、任务调度是决定应用速度最本质的因素,CPU 和缓存都属于硬件层,任务调度机制则属于操作系统层。速度优化我们将围绕这三个因素详细说明优化方案。所有的程序最终会被编译成机器码指令原创 2023-07-09 14:33:36 · 1981 阅读 · 0 评论 -
Android 性能优化系列:崩溃原因及捕获
java crash 由 JVM 触发处理,最终走到 /data/system/dropbox 目录用文件保存native crash 由管道通信建立 socket 接收通知,最终走到 /data/system/dropbox 目录用文件保存anr 由多种情况(事件、前后台服务)触发器处理,最终走到 /data/system/dropbox 目录用文件保存所有的 crash 处理在 Android 系统内部都会将对应的数据收集到 /data/system/dropbox 目录下。原创 2023-06-27 16:39:32 · 2248 阅读 · 1 评论 -
Okio 网络提速
Okio 简单来说就是一个对原生 IO 封装的三方库,Okio 最重要的是对缓冲区的设计。Okio 读写效率高是因为动态的缓冲区构建,缓冲区以 Segment 作为读写单位,每 8k 数据分配一个 Segment,最多 8 个 Segment 保证了至少在 64k 数据内只有一次数据拷贝一次上下文切换,减少用户空间和内核空间的交互次数,以达到在常规读写业务达到网络读写提速的目的。原创 2023-04-12 12:54:49 · 386 阅读 · 0 评论 -
Android 性能优化系列:ANR 触发原理与分析
文章目录系统内部对于 ANR 的生产过程什么是 ANR?ANR 发生场景系统对 ANR 的捕捉原理如何分析 ANR 文件traces.txt 分析技巧线程状态日志分析思路总结常见发生 ANR 场景及解决方案ANR 监控方案FileObserverANR WatchDog总结系统内部对于 ANR 的生产过程什么是 ANR?ANR(Application Not Responding)是指应用程序未响应,Android 系统对于一些事件需要在一定时间范围内完成,如果超过预定时间未能得到有效响应或者响应时间原创 2022-05-23 10:08:18 · 3252 阅读 · 0 评论 -
Android 性能优化系列:UI 与卡顿
渲染和布局优化VSync、Choreographer和Render Thread绘制流程原理原创 2022-05-19 16:00:01 · 2616 阅读 · 0 评论 -
Glide做了哪些优化
为了性能,Glide做了哪些优化转载 2021-09-08 23:33:06 · 169 阅读 · 0 评论 -
Android性能优化系列:CPU收敛优化(线程优化)
文章目录线程调度的原理Android的线程调度线程调度的原理任意时刻,只有一个线程占用CPU,处于运行状态多线程并发:轮流获取CPU使用权Android的线程调度原创 2021-01-11 18:06:59 · 3794 阅读 · 0 评论 -
Android 性能优化系列:包体积优化
文章目录包体积优化的方式包体积优化的方式代码优化、资源优化、so库优化原创 2021-01-12 11:13:02 · 2545 阅读 · 1 评论 -
AOP面向切面编程:Aspect J的使用
文章目录什么是AOP什么是AOPAOP 全称为 Aspect Object Programing 面向切面编程,那什么叫做面向切面的编程?我们通过一个简单的例子了解一下。在一般情况下,如果我们需要对一个方法在执行前后做一些操作,比如统计方法执行耗时,就需要在方法开始前记录时间,执行结束时再记录时间,最终计算方法耗时:public void calculateMethodTime() { long start = System.currentTimeMillis(); .... long end原创 2020-09-27 16:23:44 · 1069 阅读 · 0 评论 -
Android性能优化系列:Android Studio Profiler
使用 Android Studio Profiler 工具解析应用的内存和 CPU 使用数据转载 2020-10-02 22:45:14 · 483 阅读 · 0 评论 -
Android性能优化系列:VSync、Choreographer 和 Render Thread
文章目录1 什么是VSYNC?1.1 帧率和刷新频率1.2 VSYNC21 什么是VSYNC?1.1 帧率和刷新频率在讲解 VSYNC 之前,需要了解两个相关的概念:Refresh Rate:屏幕在1秒内刷新屏幕的次数,这取决于硬件的固定参数,例如60HzFrame Rate:GPU在1秒内绘制操作的帧数,例如60fpsGPU会获取图形数据进行渲染,然后硬件负责把渲染后的内容呈现到屏幕上,它们两者不停的进行协作:帧率和刷新频率并不是总能够保持相同的节奏,通常来说,帧率超过刷新频率原创 2020-09-17 00:02:11 · 2631 阅读 · 3 评论 -
Android性能优化系列:启动优化
Android 性能优化—— 启动优化提升60%原创 2020-09-27 16:24:03 · 4901 阅读 · 2 评论 -
Android性能优化系列:内存优化
实践App内存优化:如何有序地做内存分析与优化原创 2020-10-02 21:54:56 · 5863 阅读 · 2 评论 -
Android性能优化系列:Bitmap
文章目录1 Bitmap简介2 Bitmap的计算2 Bitmap优化的几种方式2.1 选择适合的目录存放图片(drawable/mipmap)2.2 解码方式2.3 压缩方式2.4 调整缩放比例1 Bitmap简介Bitmap 在Android开发中作为图片信息的载体,比如在列表、Banner、Splash还是其他界面,图片都是在内存占用中比例比较大的,没有妥善处理很容易导致OOM(Out ...原创 2020-03-21 18:18:49 · 2208 阅读 · 0 评论 -
ConstraintLayout
文章目录1 布局1.1 居中于父容器1.2 居中于控件中心1.2.1 水平方向居中1.2.2 垂直方向居中1.2.3 水平或垂直方向居中实现1.3 填充1.4 权重1.4 文字基准线对齐1.5 圆形定位2 特殊属性2.1 约束限制2.2 偏向2.3 控件隐藏提供边距2.4 约束链2.5 宽高比3 辅助控件4 ConstraintSet1 布局1.1 居中于父容器<?xml versi...原创 2020-02-06 22:31:26 · 614 阅读 · 0 评论 -
Android性能优化系列:如何合理使用内存
内存性能优化简介:Android系统通过在Android Lollipop替换Dalvik为ART,且在Android N添加JIT的方式提升编译安装性能对象内存管理,避免内存抖动、内存泄漏按需要提供变量的基本数据类型避免自动装箱拆箱的转换在某些场景使用Android提供的SparseArray集合组和ArrayMap代替HashMap能达到内存高效尽量使用fo...原创 2019-06-21 23:45:49 · 344 阅读 · 0 评论 -
Android性能优化系列:渲染及布局优化
1 应用程序界面刷新频率应用程序在其整个生命周期中,始终保持60FPS(Frame per second)的帧速率,即屏幕需要在每一秒内刷新60次,也就是每16.6667毫秒刷新一次,才能确保应用程序有一个流畅的体验。2 去除Activity背景视图层级结构中最顶层的视图为DecoreView,在主题(theme)中为Activity设置的背景,就是通过它来显示。这个默认背景通常会被所编写的...原创 2019-06-20 22:55:58 · 650 阅读 · 0 评论