黑屏手势的性能提升
黑屏手势
- 画C打开相机
- 画W打开微信
- 画V打开手电筒
- 双指下滑打开/关闭音乐
- 右箭头>下一首
- 左箭头<上一首
性能优化
具体思路流程本地电脑留存
本次进行其他细节的优化
动画缓存图片保存
frameworks/base/services/core/java/com/android/server/wm/WindowState.java
private boolean shouldSaveSurface() {// save blackgesture
}
CPU进行调频
黑屏手势的keycode识别的同时进行CPU调频
mPerfService.enableCPUHightMode(1500);
后台线程HandlerThread启动应用
private HandlerThread mBackThread;private Handler mBackHandler;mBackThread = new HandlerThread("wms_background_thread");mBackThread.start();mBackHandler = new Handler(mBackThread.getLooper());mBackHandler.post(new Runnable() {@Overridepublic void run() {openAppBg();}
暂时禁用系统动画
WindowManagerService服务的方法控制
数组切换画图片
private void drawImage(){if (mImageView != null && mCurrentDrawableIds != null && mCurrentDrawableIndex >= 0 && mCurrentDrawableIndex < mCurrentDrawableIds.length){Log.d("BlackGesture", "drawImage mCurrentKeyCode = " + mCurrentKeyCode + ", mCurrentDrawableIndex = " + mCurrentDrawableIndex);mImageView.setImageResource(mCurrentDrawableIds[mCurrentDrawableIndex]);invalidate();}}
底层直接解锁
Framwork层进行解锁,绕开API调用解锁,因为API调用慢
底层直接亮屏
防止亮屏过快,闪现壁纸,尤其是第一次黑屏手势图片还没加载出来的情况,这里需要规避
小结
这里提供性能思路。目前优化后的黑屏手势效果是如丝般顺滑
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
