Android 性能优化

(四)Android 性能优化 Energy Profiler

2020-07-01  本文已影响0人  科技猿人

小酌鸡汤

纸上得来终觉浅,绝知此事要躬行。

本文来源《Android 性能优化 全家桶》

为什么要优化应用消耗电池电量?

 手机在屏幕唤醒,cpu唤醒,网络,定位等耗电严重,如果应用在非必要场景依然使用的话,很容易造成耗电严重,手机发烫等现象。当然也会遭到用户无情的抛弃……

为什么要用 energy profiler?

现在,就一起实操体验profiler吧!

(1)profiler实操环境(可选项,用自己的环境和代码也一样)
(2)打开profiler
(3)来吧,一起预览一下吧:
profiler概览
(4)点击ENERGY分类栏,就可以进入到energy profiler详情页:
energy-profiler详情页概览
窗口详细说明:
(5)随时查看电量损耗情况(在时间轴上拖动以选择要查看的区域):
energy-profiler选取片段查看
对各个窗口进行说明:
对上面所提到的系统事件做说明:
(六)SamplePop示例代码:
public class EnergyProfilerActivity extends AppCompatActivity {
    private static final String TAG = "EnergyProfilerActivity";

    private PowerManager.WakeLock mWakeLock;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_energy_profiler);
    }

    public void onEnergyWakeLockAcquire(View view) {
        Log.d(TAG, "onEnergyWakeLockTest: ");
        if (mWakeLock != null) {
            return;
        }
        createWakeLock();
        mWakeLock.acquire();
    }

    public void onEnergyWakeLockRelease(View view) {
        Log.d(TAG, "onEnergyWakeLockRelease: ");
        if (mWakeLock != null) {
            mWakeLock.release();
            mWakeLock = null;
        }
    }

    private void createWakeLock() {
        Log.d(TAG, "createWakeLock: ");
        PowerManager pm = (PowerManager) getBaseContext().getSystemService(POWER_SERVICE);
        mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, getClass().getSimpleName());
    }
}

小编的扩展链接

参考链接

会当凌绝顶,一览众山小

举手之劳,赞有余香! ❤ 比心 ❤

上一篇 下一篇

猜你喜欢

热点阅读