Hi Max, My answer as below: A few of questions (perhaps for others on the list):
1) Is there any effort going into making xwalk start up faster? This would reduce the need for a splashscreen in the first place, which requires extra effort from the app developer (and thus potentially some extra porting effort); To make xwalk start up faster is not considered in this topic, and as I know there used to have someone working on this. Wish it will be better in the future, but currently it takes around 1 seconds on my Samsung GT-P5210 App developers can have their own way to display splash screen too, and the implementation in this topic is another option for them. Cordova also has it's mechanism to show splash screen. The difference between our implementation and Cordova is that, The splash screen in Cordova cannot determine whether the web page are rendered well, we can better control it.(it's currently under investigation) 2) Isn't it true that, on Android, apps are started/stopped "on the fly" and they need to store/restore their state so that they are started again as if they hadn't been stopped? I wonder how a splashscreen might interfere with this functionality - perhaps the splashscreen can be set at runtime to 'fake' the most recent screen image? ...but then, what about the case where the user switches orientation while the app is stopped? Tricky...; Yes, apps can running foreground or back to the background, and it will be killed by the OS or restarted. As my planning, The splash screen will be displayed only in two cases 1) The first time the app start up 2) When the app restarted (after killed by the OS) When the app resumed (from background to foreground), splash screen will not be displayed. 3) Is there any other API already defined for this? I vaguely recall some work earlier in 2013 on implementing a splashscreen for wrt on Tizen, for example. As I know, there is no API defined currently. Any comments from Junmin? Guangzhen From: Crosswalk-dev [mailto:crosswalk-dev-boun...@lists.crosswalk-project.org] On Behalf Of Wang, Shiliu Sent: Monday, December 23, 2013 10:55 AM To: Zhu, Junmin; crosswalk-dev@lists.crosswalk-project.org<mailto:crosswalk-dev@lists.crosswalk-project.org> Subject: Re: [Crosswalk-dev] Intent to implement - SplashScreen API for xwalk based application. The implementation details are only for the second part of startup time you mentioned right? What about the first part? Is it short enough for xwalk to ignore? Thanks, Shiliu. From: Crosswalk-dev [mailto:crosswalk-dev-boun...@lists.crosswalk-project.org] On Behalf Of Zhu, Junmin Sent: Friday, December 20, 2013 10:37 AM To: crosswalk-dev@lists.crosswalk-project.org<mailto:crosswalk-dev@lists.crosswalk-project.org> Subject: [Crosswalk-dev] Intent to implement - SplashScreen API for xwalk based application. Description: Xwalk based application takes too long times to show the web page at the startup. It only shows the blank screen during this time currently. It's not user friendly. I want to supply the unified SplashScreen API in manifest, which allows developer to provide screen image for application during the startup. Note that, the application startup time is composited by two parts. First is the Xwalk's startup time, including loading native library and Xwalk's resource file etc. Second is the application start up time, including the loading application's resource and rendering the page etc. Affected component: 1. Android port. 2. Tizen port. 3. Manifest API spec. Related feature: (Jira ID) https://crosswalk-project.org/jira/browse/XWALK-637 Target Release: (Crosswalk N) Crosswalk 4 Implementation details: To achieve this, two parts of implementation is needed. 1. For preparing step, we need to get SplashScreen image from manifest, and show it when it is set in the manifest. Android port: a. Add parser support for this new API in the packaging tool (make_apk.py). b. Add mechanism to show/hide the SplashScreen image (xwalk_app_template). Tizen port: (call for help from Tizen expert) .... 2. For finish step, we need to know the time when page is rendered, and remove the splash screen. a. Common: invoke the client's native callback (such as: OnFirstRenderingReady() ) when the content is updated in the ViewRender first time. b. Android port: 1) provide client's Java callback API; 2) Add JNI mapping between Java callback API and native callback API. c. Tizen port: (call for help from Tizen expert).... Thanks, Junmin. _______________________________________________ Crosswalk-dev mailing list Crosswalk-dev@lists.crosswalk-project.org<mailto:Crosswalk-dev@lists.crosswalk-project.org> https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev
_______________________________________________ Crosswalk-dev mailing list Crosswalk-dev@lists.crosswalk-project.org https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev