标签:
概述
为了节省系统资源,通常情况下,应用切换到后台后将会暂停运行,等到再次切换回前台时继续运行。但音乐\运动等类型的应用, 退到后台后可能仍然需要继续运行,为满足此类需求,加入了对后台运行的支持。
后台运行模式的工作原理如下:
在应用切换到后台时,系统将会检查是否满足后台运行的条件,如果满足,应用将继续运行,否则将被暂停。此条件包括:
-
manifest.json 中声明了后台运行接口
-
当前至少有一个(已在 manifest.json 中声明的)后台运行接口正在运行
处于后台运行中的应用,如果所有后台运行接口均运行结束,系统将会启动倒计时。倒计时结束后,如果仍未有后台运行接口被调用, 应用将会退出后台运行模式,暂停运行。
实践建议:
-
后台运行需要消耗较多的系统资源,应用需要根据自身需求审慎使用。针对申请后台运行的应用,上线审核时将会审核其后台运行的需求是否合理。
-
后台运行接口的导入和后台执行的工作放到 app.ux 中,而不是放到页面中,以免避免页面切换和销毁的影响。
配置方法
manifest.json 中声明所需的后台运行接口。后台运行接口包括:
音频播放:blueos.multimedia.audio
多媒体: blueos.multimedia.media
录音:blueos.multimedia.record
上传下载:blueos.communication.network.request
地理位置:blueos.hardware.geolocation
{
"package": "com.hybrid.demo.sample",
......
"config": {
"logLevel": "trace",
"background": {
"features":[
"blueos.multimedia.audio",
"blueos.multimedia.media",
"blueos.multimedia.record",
"blueos.communication.network.request",
"blueos.hardware.geolocation"
]
}
......
}
标签: 来源:
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。