• 0
  • 0

uniapp开发注意事项总结

2020-05-30 78 0 admin 所属分类:Hbuilder

【关于程序休眠】

小程序环境下隐藏回退主界面程序挂起

类型 描述 
 安卓 1分钟不重新进入就休眠 不会继续发请求
 苹果 只要退回主界面 就不会继续发请求

App环境下程序onhide程序挂起

类型 描述 
 安卓 只要进程没被干掉,退回主界面或者熄屏,程序都会继续请求
 苹果 屏幕亮起的状态下 3分钟没登录App 所有操作都会被挂起 屏幕熄屏 30秒后所有行为都将挂起

APP下如何让手机关屏后仍能正常运行、接收信息 

plus.device.setWakelock(true);

Native 实现手机关屏仍能接收信息(只适用于安卓),适合于短时间内需要频繁请求服务器,如上报GPS坐标

借助于安卓的WakeLock机制,实现APP后台运行

var g_wakelock = null;

//允许程序后台运行,以持续获取GPS位置  
function wakeLock() {
    //Android  
    var main = plus.android.runtimeMainActivity();
    var Context = plus.android.importClass("android.content.Context");
    var PowerManager = plus.android.importClass("android.os.PowerManager");
    var pm = main.getSystemService(Context.POWER_SERVICE);
    g_wakelock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "ANY_NAME");
    g_wakelock.acquire();
}

//结束程序后台运行  
function releaseWakeLock() {
    if (g_wakelock != null && g_wakelock.isHeld()) {
        g_wakelock.release();
        g_wakelock = null;
    }
}

newWakeLock  flags参数说明

参数 说明 
  PARTIAL_WAKE_LOCK 保持CPU 运转,屏幕和键盘灯是关闭的
 SCREEN_DIM_WAKE_LOCK 保持CPU 运转,允许保持屏幕显示但有可能是灰的,关闭键盘灯
 SCREEN_BRIGHT_WAKE_LOCK 保持CPU 运转,保持屏幕高亮显示,关闭键盘灯
 FULL_WAKE_LOCK 保持CPU 运转,保持屏幕高亮显示,键盘灯也保持亮度


部分机型做了深度优化,上述代码无效,需要额外处理,指引用户指向app的应用信息,长按APP图标可以获取。

然后在高级里面电池优化选择【不优化】、或者是省电策略选择【不限制】




返回顶部