Thanks, Francesco

It's slow for both startup and performances ( exemple : delay when I am
using text fields ( more the 5 secondes, slownless after the startup again
when we navigate on the webview).



2016-04-04 11:28 GMT+02:00 Balestrieri, Francesco <
[email protected]>:

> Could you explain a bit more what the slowness is exactly? Is it slow
> startup time, slow animation performance, etc.?
>
> From: Crosswalk-help <[email protected]>
> on behalf of medlamine Semassel <[email protected]>
> Date: Wednesday 30 March 2016 18:01
> To: "[email protected]" <
> [email protected]>
> Subject: [Crosswalk-help] Fwd: #Baleboy #v17 slowless
>
>
> ---------- Forwarded message ----------
> From: medlamine Semassel <[email protected]>
> Date: 2016-03-30 16:37 GMT+02:00
> Subject: #Baleboy #v17 slowless
> To: [email protected]
>
>
>
> ---------- Forwarded message ----------
> From: medlamine Semassel <[email protected]>
> Date: 2016-03-21 17:52 GMT+01:00
> Subject: Slowness with xwalkview 17 on Android
> To: [email protected]
>
>
> Hi,
>
> I was following with you this issue on Tweeter @LamineMEHD.
>
> The problem is the xwalk_core-library 17 is slowest very slow, I switch to
> the 16 and I delete xwalksetting function ( User Agent ) and the view is
> loading very well.
>
> find blow a simple of my webview
>
>
> public class MyNewWebView extends XWalkView {
>
>     private static final String TAG = "KWebView";
>     private static final String URL_LOGO = 
> "file:///android_asset/www/LogoLM.png";
>     private String mDefaultUrl;
>     private Integer mRefreshInterval;
>     private String mNumSite;
>     private Handler mTimer;
>     private Runnable mRefreshWebViewTask;
>
>     public void setTracker(Tracker tracker) {
>         Tracker tracker1 = tracker;
>     }
>
>     public MyNewWebView(Context context, AttributeSet attrs) {
>         super(context, attrs);
>         this.clearCache(true);
>         this.setResourceClient(new MyResourceClient(this));
>         this.setUIClient(new MyUIClient(this));
>     }
>
>     public String getDefaultUrl() {
>         return mDefaultUrl;
>     }
>
>     public void loadDefaultUrl() {
>         if (mDefaultUrl != null) {
>             resetRefreshTimer();
>             //Cookies
>             try {
>                 URL url = new URL(this.getDefaultUrl());
>                 String[] splitedUrlDomain = 
> url.getHost().split(Pattern.quote("."));
>                 if (splitedUrlDomain.length >= 2) {
>                     String urlDomain = 
> splitedUrlDomain[splitedUrlDomain.length - 2] + "." + 
> splitedUrlDomain[splitedUrlDomain.length - 1];
>
>                     XWalkCookieManagerInternal xWalkCookieManager = new 
> XWalkCookieManagerInternal();
>                     xWalkCookieManager.setAcceptCookie(true);
>                     xWalkCookieManager.setAcceptFileSchemeCookies(true);
>                     xWalkCookieManager.setCookie(url.getProtocol() + "://" + 
> url.getHost(), "tabLM=" + this.mNumSite + " ; Domain=." + urlDomain);
>                     xWalkCookieManager.flushCookieStore();
>
>
>                     Log.d(TAG, "cookie ------>" + 
> xWalkCookieManager.getCookie(url.getProtocol() + "://" + url.getHost()));
>                 } else {
>                     Log.e(TAG, "cannot create cookie for " + 
> this.getDefaultUrl());
>                 }
>             } catch (MalformedURLException e) {
>                 Log.e(TAG, e.toString());
>             }
>             this.load(mDefaultUrl, null);
>         } else {
>             this.load(URL_LOGO, null);
>         }
>     }
>
>
>     public void resetRefreshTimer() {
>         if (mRefreshInterval != 0) {
>             if (mTimer != null)
>                 mTimer.removeCallbacks(mRefreshWebViewTask);
>             mTimer = new Handler();
>             mRefreshWebViewTask = new Runnable() {
>                 @Override
>                 public void run() {
>                     // On lance le raffraichissement dans le thread UI
>                     ((Activity) getContext()).runOnUiThread(new Runnable() {
>                         public void run() {
>                             Log.i(TAG, "Raffraichissement demandée de la 
> webview ");
>                             loadDefaultUrl();
>
>
>                         }
>                     });
>                 }
>             };
>             // lancement de la tache toutes mRefreshInterval min
>             mTimer.postDelayed(mRefreshWebViewTask, 1000 * 60 * 
> mRefreshInterval);
>         }
>     }
>
>     public void setRefreshInterval(Integer refreshInterval) {
>         mRefreshInterval = refreshInterval;
>     }
>
>     public void setOverrideUrl(Boolean overrideUrl) {
>         Boolean overrideUrl1 = overrideUrl;
>     }
>
>     public void setNumSite(String numSite) {
>         mNumSite = numSite;
>     }
>
>     public void setAuthorizedDomains(String domains) {
>         String domains1 = domains;
>     }
>
>     public void setDefaultUrl(String defaultUrl) {
>         mDefaultUrl = defaultUrl;
>     }
>
>     public class MyResourceClient extends XWalkResourceClient {
>
>         public MyResourceClient(XWalkView view) {
>             super(view);
>         }
>
>
>        @Override
>         public void onReceivedSslError(XWalkView view, ValueCallback<Boolean> 
> callback, SslError error) {
>             Log.d("DEBUG", "onReceivedSslError");
>             //désactive les erreurs SSL
>             //TODO : rajouter les certificats ADEO dans le keystore
>             callback.onReceiveValue(true);
>         }
>
>         @Override
>         public boolean shouldOverrideUrlLoading(XWalkView xWalkView, String 
> url) {
>
>             if (url.contains("youtube")) {
>                 Log.d("Mohamed", url);
>                 /** Le Toast pour les URLs Interdites **/
>                 Toast.makeText(getContext(), "This Link is Forbiden", 
> Toast.LENGTH_LONG).show();
>                 return true;
>             }
>             Log.d("Vincent", url);
>             return false;
>         }
>
>         @Override
>         public XWalkWebResourceResponse shouldInterceptLoadRequest(XWalkView 
> view, XWalkWebResourceRequest request) {
>             Log.d("yeah", request.getUrl().toString());
>             return super.shouldInterceptLoadRequest(view, request);
>         }
>     }
>
>     class MyUIClient extends XWalkUIClient {
>         MyUIClient(XWalkView view) {
>             super(view);
>         }
>
>         @Override
>         public void onFullscreenToggled(XWalkView view, boolean 
> enterFullscreen) {
>             super.onFullscreenToggled(view, enterFullscreen);
>             view.hasEnteredFullscreen();
>         }
>
>     }
> }
>
> and
>
> public class MyWebViewFragment extends Fragment {
>     private MyNewWebView mXWalkView;
>     private static final String TAG         = "KFragment";
>     public static final String ARG_URL      = "url";
>     public static final String ARG_NAME     = "name";
>     public static final String ARG_ZOOM     = "ZOOM";
>     public static final String ARG_REFRESH  = "REFRESH";
>     public static final String ARG_OVERRIDE = "OVERRIDE";
>     public static final String ARG_DOMAINS  = "DOMAINS";
>     public static final String ARG_NUMSITE  = "NUMSITE";
>     public static final String ARG_UA       = "UA";
>     public static final String ARG_APPEND   = "APPEND";
>
>
>
>
>
>     @Override
>     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
> Bundle savedInstanceState) {
>
>         Bundle args = getArguments();
>         MyApp app = (MyApp) getActivity().getApplication();
>         View v = inflater.inflate(R.layout.webview_fragment, null);
>         mXWalkView = (MyNewWebView) v.findViewById(R.id.webView);
>         XWalkPreferences.setValue("enable-javascript", true);
>         XWalkPreferences.setValue(XWalkPreferences.REMOTE_DEBUGGING, true);
>         
> XWalkPreferences.setValue(XWalkPreferences.ALLOW_UNIVERSAL_ACCESS_FROM_FILE, 
> true);
>         
> XWalkPreferences.setValue(XWalkPreferences.JAVASCRIPT_CAN_OPEN_WINDOW, true);
>         XWalkPreferences.setValue(XWalkPreferences.SUPPORT_MULTIPLE_WINDOWS, 
> true);
>
>         mXWalkView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
>
>
>         if (args.getString(ARG_UA) != "") {
>
>             
> mXWalkView.getSettings().setUserAgentString(args.getString(ARG_UA));
>         }else if (args.getString(ARG_APPEND) != "") {
>             
> mXWalkView.getSettings().setUserAgentString(mXWalkView.getSettings().getUserAgentString()
>  + " " + args.getString(ARG_APPEND));
>         }
>
>         mXWalkView.setDefaultUrl(args.getString(ARG_URL));
>         //Récupère la valeur zoom du JSON sinon 100%
>         mXWalkView.getSettings().setInitialPageScale((float) 
> args.getInt(ARG_ZOOM, 100));
>         mXWalkView.setOverrideUrl(args.getBoolean(ARG_OVERRIDE));
>         //Récupère la valeur refresh du JSON sinon 0 sec
>         mXWalkView.setRefreshInterval(args.getInt(ARG_REFRESH, 0));
>         mXWalkView.setNumSite(String.format("%03d", 
> args.getInt(ARG_NUMSITE)));
>         mXWalkView.setAuthorizedDomains(args.getString(ARG_DOMAINS));
>         mXWalkView.setTracker(app.getTracker());
>         mXWalkView.loadDefaultUrl();
>
>
>         mXWalkView.setOnTouchListener(new View.OnTouchListener() {
>             @Override
>             public boolean onTouch(View v, MotionEvent event) {
>                 int action = event.getActionMasked();
>                 switch (action) {
>                     case MotionEvent.ACTION_DOWN:
>                         mXWalkView.resetRefreshTimer();
>
>
>                         break;
>                 }
>                 return false;
>             }
>         });
>
>         return v;
>     }
>
>     public void refreshWebView() {
>         if (mXWalkView != null)
>             mXWalkView.loadDefaultUrl();
>     }
>
>     public void navigateBack() {
>         mXWalkView.clearCache(true);
>     }
>
>     @Override
>     public void onDetach() {
>         super.onDetach();
>         mXWalkView.onDestroy();
>     }
> }
>
>
>
>
> ----------------------
>
>
> --
> Cordialement Medlamine
>
>
>
> --
> Cordialement Medlamine
>
>
>
> --
> Cordialement Medlamine
>
> ---------------------------------------------------------------------
> Intel Finland Oy
> Registered Address: PL 281, 00181 Helsinki
> Business Identity Code: 0357606 - 4
> Domiciled in Helsinki
>
> This e-mail and any attachments may contain confidential material for
> the sole use of the intended recipient(s). Any review or distribution
> by others is strictly prohibited. If you are not the intended
> recipient, please contact the sender and delete all copies.
>



-- 
Cordialement Medlamine
_______________________________________________
Crosswalk-help mailing list
[email protected]
https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-help

Reply via email to