<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.WAKE_LOCK"/>
2.在任意一个可以获取context的class内激活高性能模式 import android.net.wifi.WifiManager; import android.net.wifi.WifiManager.WifiLock; import android.os.PowerManager; import android.os.PowerManager.WakeLock; private final String TAG = "LockManager@" + hashCode(); public void onStart() { Context appContext = getApplicationContext(); WifiManager wifiManager = (WifiManager) appContext.getSystemService(Context.WIFI_SERVICE); //激活WIFI性能锁定 wifiLock = wifiManager.createWifiLock(WifiManager.WIFI_MODE_FULL_HIGH_PERF, TAG); // wifiLock = wifiManager.createWifiLock(WifiManager.WIFI_MODE_FULL_LOW_LATENCY, TAG); wifiLock.acquire(); PowerManager powerManager = (PowerManager) appContext.getSystemService(Context.POWER_SERVICE); //激活CPU性能锁定 wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG); wakeLock.acquire(); super.onStart(); } //释放性能锁定 public void onStop() { super.onStop(); if (wakeLock != null) { wakeLock.release(); wakeLock = null; } if (wifiLock != null) { wifiLock.release(); wifiLock = null; } }
五、测试结果在为打开测试app时ping目标机器 20个包平均延迟为185ms,最大值为555ms 在长期测试中无线漫游丢包率为3%在通过测试app激活高性能模式后 同样的20个包平均延迟为6.7ms,最大值为23ms. 在长期测试中无线漫游丢包率为0%六、总结目前市面上的安卓版本分裂较为严重,无法做到ios一样强统一针对无线性能问题,国内的几大主流厂家均在自己的UI界面中有优化但是原生安卓,AOSP等等小厂家,物联网设备,物流设备以及系统优化功底不到位的设备生产商均未针对性优化该问题目前市面上Bilibili,各类游戏APP,语音会议等等对用户体验,无线要求较高的软件均启用了该API,来提高网络响应速度如果用户对无线网络要求延迟在30ms内 丢包率小于1%的使用场景 ,建议APP手动激活高性能模式保证用户体验的一致性作者:京东零售 罗旅帆来源:京东云开发者社区(图片来源网络,侵删)
0 评论