当前位置:  开发笔记 > Android > 正文

当UIWebView试图阻止锁定Web线程时,避免主线程冻结

如何解决《当UIWebView试图阻止锁定Web线程时,避免主线程冻结》经验,为你挑选了1个好方法。

所有UIWebView共享一个Web线程.

当其中一个init被从超级视图等中删除时,它们将尝试以阻塞方式从主线程锁定Web线程,从而暂时冻结主线程的运行循环.

如果Web线程忙,例如在执行长同步时XMLHttpRequest,这可能会长时间阻塞主线程.

有办法避免这种情况吗?

如果我可以修改UIWebView,我只是让锁定尝试不阻塞,但显然情况并非如此,所以我正在寻找其他聪明的想法.



1> rpetrich..:

长期和短期的是:避免做任何阻止网络线程的时间显著量(window.alert,window.prompt,XMLHttpRequest.open('GET', url, false),可能还有其他人)

此外,避免调用锁定Web线程的方法,然后立即执行需要很长时间的操作,因为一旦控件返回到运行循环,Web线程才会被解锁.(示例:调用-[UITextView setText:]然后在主线程上同步读取文件)

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有