ionic3平台android端启动页面闪屏8秒、应用启动慢的问题(cordova-plugin-splashscreen)

目录

  • 问题描述
  • 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对象是否是关键因子
  • 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)

你可能感兴趣的:(ionic3平台android端启动页面闪屏8秒、应用启动慢的问题(cordova-plugin-splashscreen))