开启硬件加速的 Android 页面转换缓慢

Posted

技术标签:

【中文标题】开启硬件加速的 Android 页面转换缓慢【英文标题】:Slow page transitions on Android with hardware acceleration on 【发布时间】:2014-02-28 01:41:05 【问题描述】:

我正在尝试使用 Cordova 在 android 4.3.1 上运行 ionic-angular-cordova-seed 项目。我注意到的一件事是页面转换(例如,单击选项卡或列表项)非常慢。

我尝试使用以下方法禁用硬件加速:

super.appView.setLayerType(WebView.LAYER_TYPE_SOFTWARE, null);

...而且效果很好。但随后滚动、侧边菜单滑动和更多动画变得极其缓慢。

我试过 FastClick,但没有任何区别。

我发现这个CSS-based solution 解决了这个问题,但我对 Ionic 不够熟悉,无法将它应用到它上面。有什么想法吗?

注意:我没有使用任何动画进行页面转换。

【问题讨论】:

@Snicolas 不,不是。 当你得到一个有趣的答案时可以通知我,以便我改变主意吗? @Snicolas 是的......这就是左边的星星的用途...... 【参考方案1】:

Ionic 似乎做了很多与 Android 相关的修复,真正提高了性能。此外,我将我的 Android 版本分为两个版本:4.4 和 pre-4.4。 Pre 4.4 使用cordova-android-chromeview,这使得它更快。即使它为 apk 增加了约 20 MB,它也是值得的。

【讨论】:

根据这个帖子,chrome-view(在 Android 4.4 上)实际上比以前的 Android 版本中的 webview。我可以确认,在我的 LG G3 (4.4) 上,这款高端设备的性能非常糟糕。该应用程序在 4.4 之前的旧手机上运行更快。解决方案是什么?在 4.4 上,我需要打包什么特别的东西吗?我们如何做到这一点?在 4.4 之前?谢谢! groups.google.com/forum/#!topic/phonegap/1ZxXe6chHZc 同样的问题forum.ionicframework.com/t/…,也许你会发现它很有用 Ionic 现在带有人行横道 @Sani 人行横道没有。它只是玩得很​​好:) 你仍然必须使用cordova插件添加cordova-plugin-crosswalk-webview @AndroidNoob 在发表此评论时,他们有自己的实现,所以是的。但目前他们建议您使用该插件。【参考方案2】:

因为这个错误似乎非常特定于 Android 4.4.2 我相信这可能是我们正在寻找的,或者至少是有帮助的: http://playlablondon.tumblr.com/post/102534909709/improving-performance-on-cordova-powered-android

【讨论】:

以上是关于开启硬件加速的 Android 页面转换缓慢的主要内容,如果未能解决你的问题,请参考以下文章

android webview 怎么开启或关闭硬件加速

Android硬件加速

Android硬件加速

Android硬件加速介绍与实现

Chromimum Android渲染介绍

黑苹果开启硬件加速