[ 
https://issues.apache.org/jira/browse/WEEX-27?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15994293#comment-15994293
 ] 

齐山 commented on WEEX-27:
------------------------

# 2017-05-03
## Progress
-  realize prerender logic
-  excute render which is saved in prerender manager
-  call modal method when render finished
- modify the render finish time

## summary
* api
   1. call prerender task
      - addtask(string url)   call prerender task<br />
          url:the render url(dictionary)<br />
      - options:config parameter(dictionary)<br />
          ignoreParams:the ignore params ( such as:random)(array)
          version:the js version
      - callback(options) call back when finish
         - options:the result when native finish(dictionary)<br />
         result:the function execute result success,cancel,error (string)<br />
         url:the render url(dictionary)<br />
         message:call back information(sting)

## feature
- render cache invalid
    - 5 minute  lose efficacy
    - add switch to announce  whether the control is effective
- sdk performance time
    - screen first time and render finish time should update 
- time 
    - it should support when the prerender will update
- module sync method
    - for sync method ,we will hook  js bridge thread of instance. it will be 
excuted  when render really

> Prerender
> ---------
>
>                 Key: WEEX-27
>                 URL: https://issues.apache.org/jira/browse/WEEX-27
>             Project: Weex
>          Issue Type: New Feature
>         Environment: Android, iOS, (not Html5)
>            Reporter: xingjiu
>         Attachments: TB12RlEQFXXXXccXFXXXXXXXXXX.jpg
>
>   Original Estimate: 504h
>  Remaining Estimate: 504h
>
> In order to impove the page open speed, we have intro many ways, such as 
> js-bundle prefetch.
> Now we have a new idea of render the next page in background. When click the 
> button to jump to the next page, just show it, no other js file execute cost 
> needed.
> We call it prerender.
> First. Limition
> Prerender will benifit user experience of waiting time of new page load.
> It is like a tradition way, use extre space(memory) to reduce time cost.
> We need to protected our app`s memory cost, so just one page can be 
> prerendered. This limit maybe removed later.
> Second. How we do?
> One way is to store the callNative commander in memory.
> We know weex use javascript engine to explain how the page will be render, 
> then js will use callNative() to make native views created.
> Once we just store the callNative commander, not to execute it. When the page 
> is truely show, do the commander executed.
> The attach image is the order of weex render steps currently.
> Finally. 
> Our goal is to make weex page show quickly.
> We assure that using prerender, the page open in one second will reach 99.9+ 
> precent. And the global festive main page will works prefect in prerender 
> mode.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to