
android-文字笔记
文章平均质量分 58
android-性能优化的一些文字笔记
a136447572
这个作者很懒,什么都没留下…
展开
-
Android Crash 监控方案
Crash 监控方案1 java1 UncaughtExceptionHandlerpackage com.enjoy.crash2;import android.content.Context;import java.io.File;public class CrashReport { public static void init(Context context) { Context applicationContext = context.getApplicat原创 2021-10-20 10:33:50 · 1235 阅读 · 0 评论 -
APK瘦身
1 安装插件 Android Size Analyzer2 启动资源缩减2.1 需要开区混淆后 才可以开启资源缩减shrinkResources true配合minifyEnabled true 使用 都设置成truebuildTypes { release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-andr原创 2021-10-19 17:41:44 · 633 阅读 · 0 评论 -
Android 电量与网络优化
电量优化1 Doze 低电耗模式未充电,屏幕熄灭,让设备在一段时间内保持不活动状态,延迟应用的后台CPU和网络活动,从而降低耗电量2 Standby待机模式当用户有一段花四溅未触摸应用并且应用没有以下表现,则android系统就会使应用进入空闲状态2.1 用户明确启动应用2.2 应用当前有一个进程在前台运行,作为活动或前台服务,或者正在由其他活动或前台服务使用2.3 应用生成用户可在锁定屏幕或通知栏中看到的通知当用户插上电源后会推出Standby模式3 用户授权应用添加白名单 ,googl原创 2021-10-17 00:12:21 · 549 阅读 · 0 评论 -
Adnroid 卡顿分析与布局优化
1 卡顿分析1 SystraceSystrace是Android平台提供的一款工具,用于记录短期内的设备活动,其中汇总了Android内核中的数据,例如CPU调度程序,磁盘活动和应用程序,Systrace主要用来分析绘制性能方面的问题,在发生卡顿时,通过这份报告,可以知道当前整个系统所处的状态,从而帮助开发者更直观的分析系统瓶颈,改进系统性能`2 android profile 中的cpu监测**App层面监测卡顿1 利用UI线程的Looper打印日志匹配2 使用Choreographer.F原创 2021-10-16 15:41:15 · 975 阅读 · 0 评论 -
Android ANR分析
Android ANR分析什么时候会出现ANR1keyDispatchTimeoutinput事件5秒内没有处理完发生了ANRLogcat 关键字, input event dispatching timed out2 broadcastTimeout前台广播,onReceiver 10s 内没有处理完发生ANR后台广播,onReceiver 60s 呢没有处理完发生ANRLogcat 关键字,timeout of boradcast BroadcastRecord3 ServiceTim原创 2021-10-16 14:42:04 · 441 阅读 · 0 评论 -
Android 启动速度优化
1 启动状态1.1冷启动 启动需要5s 或更长时间冷启动是指应用从头开始启动,系统进程在冷启动后才创建应用进程第一次启动应用1.2热启动 启动需要1.5s 或更长时间在热启动中,系统的所有工作就是将Activity带到前台只要应用的所有Activity仍驻留在内存中,应用就不要重复 执行对象初始化,布局加载和绘制的流程1.3温启动 启动需要2s 或更长时间温启动包含了在冷启动期间发生的部分操作,同时,同时,他的开销要比热启动高,有许多潜在的状态视为温启动 例如#用户在退出应用后又重新启原创 2021-10-15 14:40:48 · 598 阅读 · 0 评论 -
Android 屏幕适配
屏幕适配1 基本概念屏幕尺寸是对角线的长度,单位是英寸,一英寸等于2.54厘米private static float sNoncompatDensity;// 系统的Densityprivate static float sNoncompatScaleDensity;// 系统的ScaledDensityprivate static void setCustomDensity(Activity activity, final Application application){ fina原创 2021-10-14 22:36:41 · 149 阅读 · 0 评论 -
Android 内存优化
Android 内存优化1 静态变量引起内存泄漏静态变量的生命周期是从这个类被声明开始的,到这个类被垃圾回收器回收才会被销毁,所以,一般情况下,静态变量从所在的类被使用开始就要一直占用着内存空间,知道这个类结束.如果不注意,静态变量会占用大量内存的资源,造成垃圾回收器无法堆内存进行回收,造成内存浪费,示例 1 定义一个ActivityPrivate static Resources mResources;void onCrrate(Bundle state){Super.onCreate(sta原创 2021-10-14 14:40:25 · 182 阅读 · 0 评论 -
Android 进阶
1 Java 泛型2 自定义View和事件分发_分析理解Okhttp3 - 笔记原创 2021-10-13 23:22:18 · 198 阅读 · 0 评论 -
Java 泛型
1 泛型方法void <E> getSize( E e){}2 泛型类 `class Test<T>{}`3 泛型限定 可以修饰类 也可以修饰方法3.1 泛型限定 `void <T extends Person> Text2(T t1 ,T t2){}` 3.2 泛型限定 `void <T,V extends Person&Person2> Text2(T t1 ,T t2){}`限定类型 可以有类和接口,但是如果有类 必原创 2021-10-13 23:18:35 · 188 阅读 · 0 评论 -
自定义View和事件分发_分析理解
自定义view1 自定义viewAndroid 中需要自定义view的时候,先要判断是 view 还是viewgroup,如果是view则只需要重写onDraw方法就可以了,viewgroup的话则从onMeasure开始,第二步onlayout.onMeasure中通常第一步是通过MeasureSpec.getSize()和MeasureSpec.getMode() 获取控件的模式和长度,最后在通过setMeasuredDimension()设置viewgroup最后的的长和宽,如果继承的是已有的v原创 2021-10-09 17:41:40 · 220 阅读 · 0 评论