纸上得来终觉浅,绝知此事要躬行。android
手机在屏幕唤醒,cpu唤醒,网络,定位等耗电严重,若是应用在非必要场景依然使用的话,很容易形成耗电严重,手机发烫等现象。固然也会遭到用户无情的抛弃……git
Android Studio 4.0 Gradle version 6.1.1 Android API version 30github
窗口详细说明:性能优化
CPU:cpu工做损耗电量
Network:网络通讯损耗电量
Location:定位功能损耗电量markdown
在时间轴上拖动以选择要查看的区域网络
对各个窗口进行说明:ide
红色:唤醒锁定
黄色:做业和闹钟
浅紫色:位置信息工具
对上面所提到的系统事件作说明:oop
JobBuilder
建立做业,并使用 JobScheduler
对这些做业进行调度。在许多状况下,建议您使用 JobScheduler
对做业进行调度,而不是使用闹钟或唤醒锁定。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());
}
}
复制代码
会当凌绝顶,一览众山小post
❤ 比心 ❤