App 中的资源管理(RM)和设备设施管理(FM)大多是H5写的,也对应不同的服务器后台,Android native 需要提供一些全局数据,访问硬件的能力(使用JSBridge提供扫码认证,拍照处理,WiFi 基站信息)等。看起来好像不费太多的精力,但是总是会出现很多不愉快的不让人满意的结果。 #Webview 遇到的问题
- 低端机内存泄漏 泄露就小心不要泄露啦,但是总是难免啊,你开一个新的进程给webview,退出web页面杀了这个进程。
- 内存占用大,拍照的时候退到后台再起来含有Webview 的Activity被干了。 这个还是开一个新的进程管用啊,当然,退到后台后再onPause 得时候启动一个前台Service提高优先级 被杀的概率又小了,当了不是所有的app 都时候这样做。
- 部分机型连使用JS 根本无法上传图片 部分4.x 的Android 手机就是这样子,不要挣扎了,调用Native 拍照,bitmap 最后base64 给Js 处理, 看这里:
- 后台无法释放js 导致耗电 我没有遇到。在有的手机里,你如果webview加载的html里 有一些js 一直在执行比如动画之类的东西,如果此刻webview 挂在了后台,这些资源是不会被释放 用户也无法感知。导致一直占有cpu 耗电特别快, 请在onstop和onresume里分别把setJavaScriptEnabled();给设置成false和true
- onPageFinished 函数永远也不知道什么时候被调用 123456789101112131415161718192021222232425262728293031323334353637383940414243
- Activity 都销毁了,WebView没有销毁
6.cookie 同步问题
#推荐阅读 1.