黑屏手势的性能提升

黑屏手势

  1. 画C打开相机
  2. 画W打开微信
  3. 画V打开手电筒
  4. 双指下滑打开/关闭音乐
  5. 右箭头>下一首
  6. 左箭头<上一首

这里写图片描述

性能优化

具体思路流程本地电脑留存

本次进行其他细节的优化

动画缓存图片保存

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调用慢

底层直接亮屏

防止亮屏过快,闪现壁纸,尤其是第一次黑屏手势图片还没加载出来的情况,这里需要规避

小结

这里提供性能思路。目前优化后的黑屏手势效果是如丝般顺滑


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部