Android性能

Android ANR超时时间的定义

Android ANR超时时间的定义

ANR超时时间在ActivityManagerService.java文件中进行了定义 Broadcast超时时间为10秒 // How long we allow a receiver to run before giving up on it. static final int BROADCA

Joe.Ye Joe.Ye 2023-03-11
0 0 0
Android解决帧动画OOM的组件FrameAnimDrawable

Android解决帧动画OOM的组件FrameAnimDrawable

FrameAnimDrawable和AnimationDrawable的关系 AnimationDrawable:系统实现帧动画的Drawable,使用简单,但内存消耗大,动画帧一多就容易出现卡顿甚至OOM FrameAnimDrawable:实现动态加载,一次只加载当前动画帧,用完即释放,内存消

Joe.Ye Joe.Ye 2023-03-11
0 0 0
Android TimerTask定时任务卡顿

Android TimerTask定时任务卡顿

现象描述 Android中使用Timer开启TimerTask定时任务,若TimerTask任务过于繁重,容易造成卡顿、重复及跳变现象 解决方案 开辟新线程,减轻TimerTask工作量。如定时数据采集存储,将数据采集放在定时任务中,并将数据存储放在新开辟的线程中,线程间采用Handle/Mess

Joe.Ye Joe.Ye 2023-03-11
0 0 0
Android电源锁和屏幕锁帮助类

Android电源锁和屏幕锁帮助类

后台常驻服务,使用了1像素Activity保活手段: 在息屏时,启动1像素Activity 在亮屏时,关闭1像素Activity 需要判断屏幕是否亮屏,是否解锁,特地写成一个帮助类。首先AndroidMainFest中配置权限 <!--息屏亮屏1 --> <uses-perm

Joe.Ye Joe.Ye 2023-02-26
0 0 0
Android启动页黑屏及最优解决方案

Android启动页黑屏及最优解决方案

前言 相信做过Android的朋友都知道,当一个APP启动时,界面会首先展示一个白屏或者黑屏,然后再进入欢迎页,稍作停留最后进入APP主页。那么这个黑屏或者白屏到底是怎么一回事呢?它的最好的解决方案应该是怎样的呢? 历史原因 当系统启动一个APP时,zygote进程会首先创建一个新的进程去运行这个

Joe.Ye Joe.Ye 2023-02-26
0 0 0
Android解决CPU休眠Timer不执行

Android解决CPU休眠Timer不执行

在开发中,有时我们需要在后台循环执行一些操作(比如:定时任务、即时通讯心跳包的发送等) 结果发现手机发生锁屏的操作后,CPU进入休眠,导致TimerTask不工作,直到解锁屏幕CPU被唤醒后,Timer才继续执行 解决方案: (1)获取电源锁,让CPU不休眠(耗电严重) (2)使用AlarmMan

Joe.Ye Joe.Ye 2023-02-26
0 0 0
Android申请电源锁与释放电源锁

Android申请电源锁与释放电源锁

权限配置 <uses-permission android:name="android.permission.WAKE_LOCK"/> // 申请电源锁,禁止休眠 private WakeLock mWakeLock = null; private void ac

Joe.Ye Joe.Ye 2023-02-26
0 0 0