目錄
- 問題描述
- 1 可能引發該問題的X因子集合
- 2 使用f方法針對X因子進行測試驗證
- 2.1 驗證cordova-plugin-splashscreen插件是否是關鍵因子
- 2.2 驗證Cordova橋android端源碼是否是關鍵因子
- 2.3 驗證AngularJS3.2.0是否是關鍵影響因子
- 2.3.1 使用ionic1中的AngularJS 1.5.3 版本進行驗證
- 3 尋找具體原因
- 3.1 查看日志是否包含有效信息
- 3.1.1 驗證 設置AngularJS為生產模式是否是關鍵因子
- 3.1.2 驗證 deviceready 消息超時是否是關鍵因子
- 3.1.3 驗證 AngularJS 4.1.2 的 platform對象是否是關鍵因子
- 3.1 查看日志是否包含有效信息
- 4 修改問題
- 5 附錄
- 5.1 ionic2測試日志
- 5.2 ionic3測試日志
問題描述:
- 使用 ionic3.4.0 創建的 ionic項目(其中Android框架6.2.3版本、AngularJS框架4.1.2版本、Cordova源碼JS端6.2.3版本)
- 使用ionic cordova build android生成apk安裝包。
- 運行apk安裝包啟動頁面動畫等待3秒,之后頁面白屏5秒。共計啟動頁面需要8秒的時間。
- 結論:程序運行啟動需要8秒,用戶體驗無法接受。
1、可能引發該問題的X因子集合
Cordova橋JS端源碼(AngularJS 3.2.0版本)
Cordova橋android端源碼
cordova-plugin-splashscreen插件源碼
2、使用f方法針對X因子進行測試驗證
2.1 驗證cordova-plugin-splashscreen插件是否是關鍵因子?
-
驗證方法:
- 使用ionic cordova plugin刪除 cordova-plugin-splashscreen插件,并刪除JS端相關的splashscreen的調用方法,運行應用,查看效果;
-
驗證效果:
- 啟動動畫頁面消失,白屏5秒進行應用;
-
結論:
- cordova-plugin-splashscreen對控制啟動頁面動畫。(該3秒的時間可可以通過修改config.xml里的 SplashScreenDelay 來控制時間長短。)
2.2 驗證Cordova橋android端源碼是否是關鍵因子?
因為ionic1中沒有出現此問題,對比了ionic1與ionic3項目中除了AngularJS端的代碼差異。
-
驗證方法:
- 使用beyond compare軟件對比兩個項目的代碼文件。
-
驗證效果:
- cordova-plugin-splashscreen、android框架包沒有差異。
-
結論:
- 80%排除原生端代碼對該問題的影響。
2.3 驗證AngularJS3.2.0是否是關鍵影響因子?
2.3.1 使用ionic2中的AngularJS 1.5.3 版本進行驗證:
-
驗證方法:
- 互換ionic2與ionic3中platforms/android/assets/www目錄;
驗證效果:
組合方式 | ionic版本 | AngularJS版本 | 驗證時間 |
---|---|---|---|
正常組合 | ionic2 | 1.5.3 | 3秒 |
ionic3 | 4.1.2 | 8秒 | |
測試組合 | ionic2 | 4.1.2 | 8秒 |
ionic3 | 1.5.3 | 3秒 |
- 結論:
- 該問題80%的可能性與AngularJS的版本更換內容有關。
3、尋找具體原因
3.1 查看日志是否包含有效信息?
-
查看android studio輸出日志如下:
06-17 13:22:08.550 32233-32233/io.ionic.starter D/JsMessageQueue: Set native->JS mode to EvalBridgeMode 06-17 13:22:16.403 32233-32233/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/build/main.js: Line 3303 : Angular is running in the development mode. Call enableProdMode() to enable the production mode. 06-17 13:22:16.403 32233-32233/io.ionic.starter I/chromium: [INFO:CONSOLE(3303)] "Angular is running in the development mode. Call enableProdMode() to enable the production mode.", source: file:///android_asset/www/build/main.js (3303) 06-17 13:22:16.780 32233-32233/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1223 : deviceready has not fired after 5 seconds. 06-17 13:22:16.780 32233-32233/io.ionic.starter I/chromium: [INFO:CONSOLE(1223)] "deviceready has not fired after 5 seconds.", source: file:///android_asset/www/cordova.js (1223) 06-17 13:22:16.782 32233-32233/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/build/main.js: Line 101210 : Ionic Native: deviceready did not fire within 5000ms. This can happen when plugins are in an inconsistent state. Try removing plugins from plugins/ and reinstalling them. 06-17 13:22:16.782 32233-32233/io.ionic.starter I/chromium: [INFO:CONSOLE(101210)] "Ionic Native: deviceready did not fire within 5000ms. This can happen when plugins are in an inconsistent state. Try removing plugins from plugins/ and reinstalling them.", source: file:///android_asset/www/build/main.js (101210) 06-17 13:22:16.784 32233-32233/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/build/main.js: Line 101205 : Ionic Native: deviceready event fired after 6079 ms 06-17 13:22:16.785 32233-32233/io.ionic.starter I/chromium: [INFO:CONSOLE(101205)] "Ionic Native: deviceready event fired after 6079 ms", source: file:///android_asset/www/build/main.js (101205) 06-17 13:22:16.791 32233-32375/io.ionic.starter I/App: WARNING: Back Button Default Behavior will be overridden. The backbutton event will be fired! 06-17 13:22:16.797 32233-32233/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/build/main.js: Line 74558 : aaaaaa
-
日志關鍵詞語:
- Angular is running in the development mode. Call enableProdMode() to enable the production mode.-->需要設置AngularJS為生產模式。
- deviceready has not fired after 5 seconds.-->cordova的deviceready消息沒有被觸發,5秒超時后cordova框架自動發出消息;
3.1.1 驗證 設置AngularJS為生產模式是否是關鍵因子?
驗證方法:
//測試方法:在main.js添加以下代碼:
import {enableProdMode} from '@angular/core';
enableProdMode();-
驗證效果:
- 啟動應用仍然需要8秒;
-
結論:
- AngularJS的生產、開發模式不是關鍵因子。
3.1.2 驗證 deviceready 消息超時是否是關鍵因子?
-
驗證方法:
閱讀 cordova橋JS端源碼,如果deviceready消息超時,會打印出影響超時的模塊內容,但是查看日志,并沒有輸出對應模塊的內容。
使用AngularJS 1.5.3 版本測試,查看日志;(詳細日志見 附錄5.2)
-
驗證效果
- AngularJS 1.5.3正常,deviceready消息大約3秒左右完成。
- AngularJS 4.1.2不正常,deviceready消息總是超時(原因不明,可能是ionic-angularjs封裝時導致了 onDOMContentLoaded 存在問題,測試日志見 文檔末尾)
-
結論:
- onDOMContentLoaded 消息存在問題,而AngularJS與onDOMContentLoaded消息有關的模塊只有 AngularJS 封裝的 platform對象;
3.1.3 驗證 AngularJS 4.1.2 的 platform對象是否是關鍵因子?
- 驗證方法:
- 刪除 app.component.ts 文件里與platform對象相關的代碼
platform.ready().then(() => {
// Okay, so the platform is ready and our plugins are available.
// Here you can do any higher level native things you might need.
statusBar.styleDefault();
splashScreen.hide();
});
- 驗證效果:
- deviceready消息正常。
- 日志如下:
06-17 17:22:54.527 7893-7893/io.ionic.starter D/JsMessageQueue: Set native->JS mode to EvalBridgeMode
06-17 17:22:58.716 7893-7893/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/build/main.js: Line 3303 : Angular is running in the development mode. Call enableProdMode() to enable the production mode.
06-17 17:22:58.716 7893-7893/io.ionic.starter I/chromium: [INFO:CONSOLE(3303)] "Angular is running in the development mode. Call enableProdMode() to enable the production mode.", source: file:///android_asset/www/build/main.js (3303)
06-17 17:22:58.734 7893-7902/io.ionic.starter W/art: Suspending all threads took: 15.411ms
06-17 17:22:58.899 7893-7893/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/build/main.js: Line 101333 : Ionic Native: deviceready event fired after 2991 ms
06-17 17:22:58.899 7893-7893/io.ionic.starter I/chromium: [INFO:CONSOLE(101333)] "Ionic Native: deviceready event fired after 2991 ms", source: file:///android_asset/www/build/main.js (101333)
06-17 17:22:58.937 7893-8166/io.ionic.starter I/App: WARNING: Back Button Default Behavior will be overridden. The backbutton event will be fired!
- 結論
- AngularJS 4.1.2版本對platform的封裝影響了cordova橋js的加載機制。(具體原因需要進一步研究AngularJS源碼)。
4 修改問題
- 修改方法:
- 由于JS的業務邏輯需要在deviceready成功之后才能調用,所以需要手動封裝deviceready消息;
- 封裝代碼如下:
declare const window: any;
export class MyApp {
rootPage:any = TabsPage;
constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen) {
if(window.cordova) {
document.addEventListener("deviceready", function() {
// retrieve the DOM element that had the ng-app attribute
splashScreen.hide();
// 編寫項目業務代碼開始
}, false);
} else {
console.log('web 模式');
// 編寫項目業務代碼開始
}
// platform.ready().then(() => {
// // Okay, so the platform is ready and our plugins are available.
// // Here you can do any higher level native things you might need.
// statusBar.styleDefault();
// splashScreen.hide();
// });
}
}
- 測試結果:
- deviceready大約需要3秒準備完成。android應用啟動大約1秒,所以整個應用啟動到顯示出來頁面大約為3-4秒。
5 附錄
5.1 ionic2測試日志
06-17 14:20:27.728 8326-8326/? I/art: Late-enabling -Xcheck:jni
06-17 14:20:27.790 8326-8326/? D/TidaProvider: TidaProvider()
06-17 14:20:27.804 8326-8326/? V/BoostFramework: mAcquireFunc method = public int com.qualcomm.qti.Performance.perfLockAcquire(int,int[])
06-17 14:20:27.805 8326-8326/? V/BoostFramework: mReleaseFunc method = public int com.qualcomm.qti.Performance.perfLockRelease()
06-17 14:20:27.805 8326-8326/? V/BoostFramework: mAcquireTouchFunc method = public int com.qualcomm.qti.Performance.perfLockAcquireTouch(android.view.MotionEvent,android.util.DisplayMetrics,int,int[])
06-17 14:20:27.805 8326-8326/? V/BoostFramework: mIOPStart method = public int com.qualcomm.qti.Performance.perfIOPrefetchStart(int,java.lang.String)
06-17 14:20:27.805 8326-8326/? V/BoostFramework: mIOPStop method = public int com.qualcomm.qti.Performance.perfIOPrefetchStop()
06-17 14:20:27.823 8326-8326/? V/BoostFramework: BoostFramework() : mPerf = com.qualcomm.qti.Performance@8e6d76d
06-17 14:20:27.938 8326-8326/io.ionic.starter W/System: ClassLoader referenced unknown path: /data/app/io.ionic.starter-1/lib/arm64
06-17 14:20:27.997 8326-8326/io.ionic.starter I/CordovaLog: Changing log level to DEBUG(3)
06-17 14:20:27.997 8326-8326/io.ionic.starter I/CordovaActivity: Apache Cordova native platform version 6.2.3 is starting
06-17 14:20:27.997 8326-8326/io.ionic.starter D/CordovaActivity: CordovaActivity.onCreate()
06-17 14:20:28.041 8326-8326/io.ionic.starter W/System: ClassLoader referenced unknown path: /system/app/WebViewGoogle/lib/arm64
06-17 14:20:28.046 8326-8326/io.ionic.starter I/WebViewFactory: Loading com.google.android.webview version 55.0.2883.91 (code 288309150)
06-17 14:20:28.091 8326-8326/io.ionic.starter I/cr_LibraryLoader: Time to load native libraries: 3 ms (timestamps 26-29)
06-17 14:20:28.092 8326-8326/io.ionic.starter I/cr_LibraryLoader: Expected native library version number "55.0.2883.91", actual native library version number "55.0.2883.91"
06-17 14:20:28.124 8326-8326/io.ionic.starter I/cr_LibraryLoader: Expected native library version number "55.0.2883.91", actual native library version number "55.0.2883.91"
06-17 14:20:28.124 8326-8326/io.ionic.starter I/chromium: [INFO:library_loader_hooks.cc(163)] Chromium logging enabled: level = 0, default verbosity = 0
06-17 14:20:28.149 8326-8326/io.ionic.starter I/cr_BrowserStartup: Initializing chromium process, singleProcess=true
06-17 14:20:28.196 8326-8326/io.ionic.starter I/Adreno: QUALCOMM build : 065a07a, I3a33bf62a4
Build Date : 12/06/16
OpenGL ES Shader Compiler Version: XE031.09.00.03
Local Branch : mybranch23838236
Remote Branch : quic/LA.BF64.1.2.3_rb1.7
Remote Branch : NONE
Reconstruct Branch : NOTHING
06-17 14:20:28.360 8326-8326/io.ionic.starter D/EgretLoader: EgretLoader(Context context)
06-17 14:20:28.362 8326-8326/io.ionic.starter D/EgretLoader: The context is not activity
06-17 14:20:28.383 8326-8326/io.ionic.starter D/SystemWebViewEngine: CordovaWebView is running on device made by: Xiaomi
06-17 14:20:28.396 8326-8326/io.ionic.starter D/PluginManager: init()
06-17 14:20:28.407 8326-8326/io.ionic.starter D/CordovaWebViewImpl: >>> loadUrl(file:///android_asset/www/index.html)
06-17 14:20:28.426 8326-8326/io.ionic.starter I/cr_Ime: ImeThread is enabled.
06-17 14:20:28.435 8326-8372/io.ionic.starter W/cr_media: Requires BLUETOOTH permission
06-17 14:20:28.448 8326-8326/io.ionic.starter D/CordovaActivity: Started the activity.
06-17 14:20:28.469 8326-8326/io.ionic.starter D/CordovaActivity: Resumed the activity.
06-17 14:20:28.510 8326-8326/io.ionic.starter D/ActivityThreadInjector: clearCachedDrawables.
06-17 14:20:28.528 8326-8399/io.ionic.starter E/libEGL: validate_display:99 error 3008 (EGL_BAD_DISPLAY)
06-17 14:20:28.571 8326-8396/io.ionic.starter I/OpenGLRenderer: Initialized EGL, version 1.4
06-17 14:20:28.571 8326-8396/io.ionic.starter D/OpenGLRenderer: Swap behavior 1
06-17 14:20:28.580 8326-8326/io.ionic.starter E/chromium: [ERROR:interface_registry.cc(104)] Failed to locate a binder for interface: autofill::mojom::PasswordManagerDriver
06-17 14:20:28.602 8326-8399/io.ionic.starter W/VideoCapabilities: Unrecognized profile 2130706433 for video/avc
06-17 14:20:28.629 8326-8399/io.ionic.starter W/VideoCapabilities: Unrecognized profile/level 0/3 for video/mpeg2
06-17 14:20:28.633 8326-8399/io.ionic.starter W/VideoCapabilities: Unrecognized profile/level 0/3 for video/mpeg2
06-17 14:20:28.640 8326-8399/io.ionic.starter W/VideoCapabilities: Unsupported mime video/x-ms-wmv
06-17 14:20:28.644 8326-8399/io.ionic.starter W/VideoCapabilities: Unsupported mime video/x-ms-wmv
06-17 14:20:28.657 8326-8326/io.ionic.starter D/CordovaWebViewImpl: onPageDidNavigate(file:///android_asset/www/index.html)
06-17 14:20:28.675 8326-8399/io.ionic.starter W/AudioCapabilities: Unsupported mime audio/dsd
06-17 14:20:28.679 8326-8399/io.ionic.starter W/AudioCapabilities: Unsupported mime audio/dts
06-17 14:20:28.686 8326-8399/io.ionic.starter W/AudioCapabilities: Unsupported mime audio/32KADPCM
06-17 14:20:28.690 8326-8399/io.ionic.starter W/AudioCapabilities: Unsupported mime audio/x-ape
06-17 14:20:28.695 8326-8399/io.ionic.starter W/VideoCapabilities: Unsupported mime video/mp4v-esdp
06-17 14:20:28.726 8326-8399/io.ionic.starter I/VideoCapabilities: Unsupported profile 4 for video/mp4v-es
06-17 14:20:28.784 8326-8326/io.ionic.starter W/cr_BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid: 8326
06-17 14:20:29.656 8326-8326/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1280 : DOMContentLoaded 123232
06-17 14:20:29.656 8326-8326/io.ionic.starter I/chromium: [INFO:CONSOLE(1280)] "DOMContentLoaded 123232", source: file:///android_asset/www/cordova.js (1280)
06-17 14:20:29.672 8326-8326/io.ionic.starter D/JsMessageQueue: Set native->JS mode to EvalBridgeMode
06-17 14:20:29.680 8326-8326/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1338 : 數組1111132323:[
{"type":"onNativeReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onPluginsReady","handlers":{},"state":1,"fireArgs":null,"numHandlers":1,"onHasSubscribersChange":null}]
06-17 14:20:29.680 8326-8326/io.ionic.starter I/chromium: [INFO:CONSOLE(1338)] "數組1111132323:[
{"type":"onNativeReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onPluginsReady","handlers":{},"state":1,"fireArgs":null,"numHandlers":1,"onHasSubscribersChange":null}]", source: file:///android_asset/www/cordova.js (1338)
06-17 14:20:30.403 8326-8326/io.ionic.starter W/cr_BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid: 8326
06-17 14:20:30.419 8326-8326/io.ionic.starter D/CordovaWebViewImpl: onPageFinished(file:///android_asset/www/index.html#/tab/dash)
06-17 14:20:30.445 8326-8326/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1282 : DOMContentLoaded 222222
06-17 14:20:30.445 8326-8326/io.ionic.starter I/chromium: [INFO:CONSOLE(1282)] "DOMContentLoaded 222222", source: file:///android_asset/www/cordova.js (1282)
06-17 14:20:31.251 8326-8326/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1305 : pluginloader.load
06-17 14:20:31.252 8326-8326/io.ionic.starter I/chromium: [INFO:CONSOLE(1305)] "pluginloader.load", source: file:///android_asset/www/cordova.js (1305)
06-17 14:20:31.253 8326-8326/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1314 : 111111111111
06-17 14:20:31.253 8326-8326/io.ionic.starter I/chromium: [INFO:CONSOLE(1314)] "111111111111", source: file:///android_asset/www/cordova.js (1314)
06-17 14:20:31.254 8326-8326/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1318 : 2222222
06-17 14:20:31.255 8326-8326/io.ionic.starter I/chromium: [INFO:CONSOLE(1318)] "2222222", source: file:///android_asset/www/cordova.js (1318)
06-17 14:20:31.256 8326-8326/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1730 : channel.onCordovaReady.subscribe
06-17 14:20:31.256 8326-8326/io.ionic.starter I/chromium: [INFO:CONSOLE(1730)] "channel.onCordovaReady.subscribe", source: file:///android_asset/www/cordova.js (1730)
06-17 14:20:31.274 8326-8326/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1322 : 22233333
06-17 14:20:31.274 8326-8326/io.ionic.starter I/chromium: [INFO:CONSOLE(1322)] "22233333", source: file:///android_asset/www/cordova.js (1322)
06-17 14:20:31.276 8326-8326/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1324 : 數組:[
{"type":"onCordovaReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onDOMContentLoaded","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onCordovaInfoReady","handlers":{},"state":1,"fireArgs":null,"numHandlers":0,"onHasSubscribersChange":null}]
06-17 14:20:31.276 8326-8326/io.ionic.starter I/chromium: [INFO:CONSOLE(1324)] "數組:[
{"type":"onCordovaReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onDOMContentLoaded","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onCordovaInfoReady","handlers":{},"state":1,"fireArgs":null,"numHandlers":0,"onHasSubscribersChange":null}]", source: file:///android_asset/www/cordova.js (1324)
06-17 14:20:31.281 8326-8326/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1330 : 44444444
06-17 14:20:31.281 8326-8326/io.ionic.starter I/chromium: [INFO:CONSOLE(1330)] "44444444", source: file:///android_asset/www/cordova.js (1330)
06-17 14:20:31.284 8326-8326/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1333 : 數組1111:[
{"type":"onCordovaReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onDOMContentLoaded","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onCordovaInfoReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":1,"onHasSubscribersChange":null}]
06-17 14:20:31.285 8326-8326/io.ionic.starter I/chromium: [INFO:CONSOLE(1333)] "數組1111:[
{"type":"onCordovaReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onDOMContentLoaded","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onCordovaInfoReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":1,"onHasSubscribersChange":null}]", source: file:///android_asset/www/cordova.js (1333)
06-17 14:20:31.306 8326-8464/io.ionic.starter I/App: WARNING: Back Button Default Behavior will be overridden. The backbutton event will be fired!
5.2 ionic3測試日志
06-17 14:14:25.647 2827-2827/? I/art: Late-enabling -Xcheck:jni
06-17 14:14:25.658 2827-2827/? D/TidaProvider: TidaProvider()
06-17 14:14:25.673 2827-2827/? V/BoostFramework: mAcquireFunc method = public int com.qualcomm.qti.Performance.perfLockAcquire(int,int[])
06-17 14:14:25.674 2827-2827/? V/BoostFramework: mReleaseFunc method = public int com.qualcomm.qti.Performance.perfLockRelease()
06-17 14:14:25.674 2827-2827/? V/BoostFramework: mAcquireTouchFunc method = public int com.qualcomm.qti.Performance.perfLockAcquireTouch(android.view.MotionEvent,android.util.DisplayMetrics,int,int[])
06-17 14:14:25.674 2827-2827/? V/BoostFramework: mIOPStart method = public int com.qualcomm.qti.Performance.perfIOPrefetchStart(int,java.lang.String)
06-17 14:14:25.674 2827-2827/? V/BoostFramework: mIOPStop method = public int com.qualcomm.qti.Performance.perfIOPrefetchStop()
06-17 14:14:25.685 2827-2827/? V/BoostFramework: BoostFramework() : mPerf = com.qualcomm.qti.Performance@8e6d76d
06-17 14:14:25.742 2827-2827/io.ionic.starter W/System: ClassLoader referenced unknown path: /data/app/io.ionic.starter-2/lib/arm64
06-17 14:14:25.811 2827-2827/io.ionic.starter I/CordovaLog: Changing log level to DEBUG(3)
06-17 14:14:25.811 2827-2827/io.ionic.starter I/CordovaActivity: Apache Cordova native platform version 6.2.3 is starting
06-17 14:14:25.812 2827-2827/io.ionic.starter D/CordovaActivity: CordovaActivity.onCreate()
06-17 14:14:25.838 2827-2827/io.ionic.starter W/System: ClassLoader referenced unknown path: /system/app/WebViewGoogle/lib/arm64
06-17 14:14:25.846 2827-2827/io.ionic.starter I/WebViewFactory: Loading com.google.android.webview version 55.0.2883.91 (code 288309150)
06-17 14:14:25.890 2827-2827/io.ionic.starter I/cr_LibraryLoader: Time to load native libraries: 3 ms (timestamps 7825-7828)
06-17 14:14:25.891 2827-2827/io.ionic.starter I/cr_LibraryLoader: Expected native library version number "55.0.2883.91", actual native library version number "55.0.2883.91"
06-17 14:14:25.911 2827-2827/io.ionic.starter I/cr_LibraryLoader: Expected native library version number "55.0.2883.91", actual native library version number "55.0.2883.91"
06-17 14:14:25.912 2827-2827/io.ionic.starter I/chromium: [INFO:library_loader_hooks.cc(163)] Chromium logging enabled: level = 0, default verbosity = 0
06-17 14:14:25.924 2827-2827/io.ionic.starter I/cr_BrowserStartup: Initializing chromium process, singleProcess=true
06-17 14:14:25.948 2827-2827/io.ionic.starter I/Adreno: QUALCOMM build : 065a07a, I3a33bf62a4
Build Date : 12/06/16
OpenGL ES Shader Compiler Version: XE031.09.00.03
Local Branch : mybranch23838236
Remote Branch : quic/LA.BF64.1.2.3_rb1.7
Remote Branch : NONE
Reconstruct Branch : NOTHING
06-17 14:14:26.050 2827-2827/io.ionic.starter D/EgretLoader: EgretLoader(Context context)
06-17 14:14:26.052 2827-2827/io.ionic.starter D/EgretLoader: The context is not activity
06-17 14:14:26.069 2827-2827/io.ionic.starter D/SystemWebViewEngine: CordovaWebView is running on device made by: Xiaomi
06-17 14:14:26.080 2827-2827/io.ionic.starter D/PluginManager: init()
06-17 14:14:26.090 2827-2827/io.ionic.starter D/CordovaWebViewImpl: >>> loadUrl(file:///android_asset/www/index.html)
06-17 14:14:26.097 2827-2827/io.ionic.starter I/cr_Ime: ImeThread is enabled.
06-17 14:14:26.107 2827-2872/io.ionic.starter W/cr_media: Requires BLUETOOTH permission
06-17 14:14:26.121 2827-2827/io.ionic.starter D/CordovaActivity: Started the activity.
06-17 14:14:26.127 2827-2827/io.ionic.starter D/CordovaActivity: Resumed the activity.
06-17 14:14:26.148 2827-2827/io.ionic.starter D/ActivityThreadInjector: clearCachedDrawables.
06-17 14:14:26.152 2827-2889/io.ionic.starter E/libEGL: validate_display:99 error 3008 (EGL_BAD_DISPLAY)
06-17 14:14:26.186 2827-2888/io.ionic.starter I/OpenGLRenderer: Initialized EGL, version 1.4
06-17 14:14:26.187 2827-2888/io.ionic.starter D/OpenGLRenderer: Swap behavior 1
06-17 14:14:26.195 2827-2827/io.ionic.starter E/chromium: [ERROR:interface_registry.cc(104)] Failed to locate a binder for interface: autofill::mojom::PasswordManagerDriver
06-17 14:14:26.202 2827-2889/io.ionic.starter W/VideoCapabilities: Unrecognized profile 2130706433 for video/avc
06-17 14:14:26.219 2827-2827/io.ionic.starter D/CordovaWebViewImpl: onPageDidNavigate(file:///android_asset/www/index.html)
06-17 14:14:26.230 2827-2889/io.ionic.starter W/VideoCapabilities: Unrecognized profile/level 0/3 for video/mpeg2
06-17 14:14:26.237 2827-2889/io.ionic.starter W/VideoCapabilities: Unrecognized profile/level 0/3 for video/mpeg2
06-17 14:14:26.247 2827-2889/io.ionic.starter W/VideoCapabilities: Unsupported mime video/x-ms-wmv
06-17 14:14:26.251 2827-2889/io.ionic.starter W/VideoCapabilities: Unsupported mime video/x-ms-wmv
06-17 14:14:26.265 2827-2889/io.ionic.starter W/AudioCapabilities: Unsupported mime audio/dsd
06-17 14:14:26.270 2827-2889/io.ionic.starter W/AudioCapabilities: Unsupported mime audio/dts
06-17 14:14:26.272 2827-2889/io.ionic.starter W/AudioCapabilities: Unsupported mime audio/32KADPCM
06-17 14:14:26.273 2827-2889/io.ionic.starter W/AudioCapabilities: Unsupported mime audio/x-ape
06-17 14:14:26.277 2827-2889/io.ionic.starter W/VideoCapabilities: Unsupported mime video/mp4v-esdp
06-17 14:14:26.307 2827-2889/io.ionic.starter I/VideoCapabilities: Unsupported profile 4 for video/mp4v-es
06-17 14:14:26.352 2827-2827/io.ionic.starter W/cr_BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid: 2827
06-17 14:14:26.461 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1280 : DOMContentLoaded 123232
06-17 14:14:26.461 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1280)] "DOMContentLoaded 123232", source: file:///android_asset/www/cordova.js (1280)
06-17 14:14:26.481 2827-2827/io.ionic.starter D/JsMessageQueue: Set native->JS mode to EvalBridgeMode
06-17 14:14:26.491 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1338 : 數組1111132323:[
{"type":"onNativeReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onPluginsReady","handlers":{},"state":1,"fireArgs":null,"numHandlers":1,"onHasSubscribersChange":null}]
06-17 14:14:26.491 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1338)] "數組1111132323:[
{"type":"onNativeReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onPluginsReady","handlers":{},"state":1,"fireArgs":null,"numHandlers":1,"onHasSubscribersChange":null}]",
source: file:///android_asset/www/cordova.js (1338)
06-17 14:14:27.256 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1305 : pluginloader.load
06-17 14:14:27.256 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1305)] "pluginloader.load", source: file:///android_asset/www/cordova.js (1305)
06-17 14:14:27.257 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1314 : 111111111111
06-17 14:14:27.257 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1314)] "111111111111", source: file:///android_asset/www/cordova.js (1314)
06-17 14:14:27.271 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1318 : 2222222
06-17 14:14:27.271 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1318)] "2222222", source: file:///android_asset/www/cordova.js (1318)
06-17 14:14:27.271 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1730 : channel.onCordovaReady.subscribe
06-17 14:14:27.272 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1730)] "channel.onCordovaReady.subscribe", source: file:///android_asset/www/cordova.js (1730)
06-17 14:14:27.296 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1322 : 22233333
06-17 14:14:27.296 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1322)] "22233333", source: file:///android_asset/www/cordova.js (1322)
06-17 14:14:27.298 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1324 : 數組:[
{"type":"onCordovaReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onDOMContentLoaded","handlers":{},"state":1,"fireArgs":null,"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onCordovaInfoReady","handlers":{},"state":1,"fireArgs":null,"numHandlers":0,"onHasSubscribersChange":null}]
06-17 14:14:27.298 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1324)] "數組:[
{"type":"onCordovaReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onDOMContentLoaded","handlers":{},"state":1,"fireArgs":null,"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onCordovaInfoReady","handlers":{},"state":1,"fireArgs":null,"numHandlers":0,"onHasSubscribersChange":null}]", source: file:///android_asset/www/cordova.js (1324)
06-17 14:14:34.293 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/build/main.js: Line 3303 : Angular is running in the development mode. Call enableProdMode() to enable the production mode.
06-17 14:14:34.293 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(3303)] "Angular is running in the development mode. Call enableProdMode() to enable the production mode.", source: file:///android_asset/www/build/main.js (3303)
06-17 14:14:34.566 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1282 : DOMContentLoaded 222222
06-17 14:14:34.567 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1282)] "DOMContentLoaded 222222", source: file:///android_asset/www/cordova.js (1282)
06-17 14:14:34.567 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1330 : 44444444
06-17 14:14:34.568 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1330)] "44444444", source: file:///android_asset/www/cordova.js (1330)
06-17 14:14:34.568 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1333 : 數組1111:[
{"type":"onCordovaReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onDOMContentLoaded","handlers":{},"state":2,"fireArgs":[],"numHandlers":1,"onHasSubscribersChange":null},
{"type":"onCordovaInfoReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null}]
06-17 14:14:34.568 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1333)] "數組1111:[
{"type":"onCordovaReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onDOMContentLoaded","handlers":{},"state":2,"fireArgs":[],"numHandlers":1,"onHasSubscribersChange":null},
{"type":"onCordovaInfoReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null}]", source: file:///android_asset/www/cordova.js (1333)
06-17 14:14:34.674 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1223 : deviceready has not fired after 5 seconds.
06-17 14:14:34.675 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1223)] "deviceready has not fired after 5 seconds.", source: file:///android_asset/www/cordova.js (1223)
06-17 14:14:34.676 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/build/main.js: Line 101210 : Ionic Native: deviceready did not fire within 5000ms. This can happen when plugins are in an inconsistent state. Try removing plugins from plugins/ and reinstalling them.
06-17 14:14:34.676 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(101210)] "Ionic Native: deviceready did not fire within 5000ms. This can happen when plugins are in an inconsistent state. Try removing plugins from plugins/ and reinstalling them.", source: file:///android_asset/www/build/main.js (101210)
06-17 14:14:34.676 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/build/main.js: Line 101205 : Ionic Native: deviceready event fired after 6041 ms
06-17 14:14:34.677 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(101205)] "Ionic Native: deviceready event fired after 6041 ms", source: file:///android_asset/www/build/main.js (101205)
06-17 14:14:34.685 2827-2915/io.ionic.starter I/App: WARNING: Back Button Default Behavior will be overridden. The backbutton event will be fired!
06-17 14:14:34.689 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/build/main.js: Line 74558 : aaaaaa
06-17 14:14:34.689 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(74558)] "aaaaaa", source: file:///android_asset/www/build/main.js (74558)
06-17 14:14:34.755 2827-2827/io.ionic.starter D/CordovaWebViewImpl: onPageFinished(file:///android_asset/www/index.html)