android 預(yù)加載進(jìn)程的實(shí)現(xiàn)方法
一.背景
做閱讀器獨(dú)立進(jìn)程時(shí),打開閱讀器閱讀頁面所在的Activity,會(huì)出現(xiàn)白屏或黑屏
也就是說從一個(gè)進(jìn)程activity跳轉(zhuǎn)另一個(gè)進(jìn)程的activity,會(huì)出現(xiàn)白屏或黑屏
,因?yàn)榇蜷_獨(dú)立進(jìn)程會(huì)重新fork,耗時(shí)比較長,所以解決思路是
在跳轉(zhuǎn)之前,預(yù)加載進(jìn)程,從而避免啟動(dòng)進(jìn)程的時(shí)間
選擇看不見的組件進(jìn)行預(yù)加載,如Service、廣播
二.實(shí)現(xiàn)
1. 創(chuàng)建預(yù)加載服務(wù)類
public class PreloadProgressService extends Service {
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
}2.清單文件中注冊并制定
android:process 要預(yù)加載的進(jìn)程
<service
android:name=".ui.service.PreloadProgressService"
android:exported="true"
android:process=":eink"
/>3.開啟和停止
a.開啟預(yù)加載進(jìn)程
private void startPreloadProgressService() {
if(!ReaderUtils.isServiceStart(PreloadProgressService.class)){
Intent intent = new Intent(requireActivity(), PreloadProgressService.class);
requireActivity().startService(intent);
}
}b.停止預(yù)加載進(jìn)程
private void stopPreloadProgressService(){
if(ReaderUtils.isServiceStart(PreloadProgressService.class)){
Intent intent = new Intent(requireActivity(), PreloadProgressService.class);
requireActivity().stopService(intent);
}
}c.進(jìn)程是否開啟過判斷
public static boolean isServiceStart(Class<?> serviceClass) {
ActivityManager manager = (ActivityManager) BaseApp.mApp.getSystemService(BaseApp.mApp.ACTIVITY_SERVICE);
for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if (serviceClass.getName().equals(service.service.getClassName())) {
return true;
}
}
return false;
}到此這篇關(guān)于android 預(yù)加載進(jìn)程的文章就介紹到這了,更多相關(guān)android 預(yù)加載進(jìn)程內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android之仿美團(tuán)加載數(shù)據(jù)幀動(dòng)畫
本文主要介紹了Android仿美團(tuán)加載數(shù)據(jù)幀動(dòng)畫的實(shí)例方法。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-04-04
android獲取當(dāng)前運(yùn)行Activity名字的方法
這篇文章主要介紹了android獲取當(dāng)前運(yùn)行Activity名字的方法,對比分析了兩種實(shí)現(xiàn)方法供大家選擇,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01
Android實(shí)現(xiàn)快遞物流時(shí)間軸效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)快遞物流時(shí)間軸效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
Android編程仿Iphone拖動(dòng)相片特效Gallery的簡單應(yīng)用示例
這篇文章主要介紹了Android編程仿Iphone拖動(dòng)相片特效Gallery的簡單應(yīng)用,結(jié)合實(shí)例形式分析了Android圖形拖動(dòng)特效的實(shí)現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下2016-10-10
Android LayoutInflater加載布局詳解及實(shí)例代碼
這篇文章主要介紹了Android LayoutInflater加載布局詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02
Android Handler之消息循環(huán)的深入解析
本篇文章是對Handler消息循環(huán)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05

