2012-03-12 57 views
5

我正在开发一个使用Web技术和CSS转换的Android应用程序(对应用程序的功能非常重要,因为它们负责滚动和滑动页面)非常缓慢。 根据互联网上发现的信息,CSS转换不是硬件加速,除非三维转换。我发现很多文章说我应该把“-webkit-transform:translateZ(0);”给我的动画元素。使用Android应用程序嵌入WebKit的新版本

但是,较旧的Android版本(低于3.0)中的Webkit不支持3D转换。

我可以用我的应用程序嵌入WebKit的较新版本吗?

回答

3

我可以用我的应用程序嵌入更新版本的WebKit吗?

理论上,也许。

您必须完全重写WebKit才能使用NDK支持输出的内容(例如,OpenGL)并将其嵌入到您的应用中。我估计这将花费大于100个开发人员的月份,所以如果你有一个庞大的团队和相匹配的预算,欢迎你来试试。当您完成这项工作时,“较旧的Android版本”将会过时,您不需要代码。

因此,从实际角度来看,要么重新设计应用程序,以便CSS转换不再是“应用程序功能所必需的”,要么将您的应用程序限制为Android 3.0+,并等待Android用户群赶上。

+0

不,它不需要Java中的完整重写。 好像Dolphin家伙已经发布了新版本的WebKit和他们的最新版本,所以它似乎是可能的。另外,我还记得在Android的某个地方可以发布apk文件中的本机二进制文件,但我不确定。 – Ivo 2012-08-26 02:37:18

+0

@Ivo:“不,它不需要Java中的完整重写” - 我从来没有说过。 “另外,我还记得有些地方阅读Android允许在apk文件中发布本机二进制文件,但我不确定” - 对于像WebKit这样的图书馆来说,这将通过NDK,正如我在我的回答中所解释的。诚然,它看起来并不像我预期的那么困难,他们可能已经削减了一些角落来实现这一目标,但由于他们的工作不是开源的(最后我检查了),我无法确认他们的具体技术。 – CommonsWare 2012-08-26 10:42:56

+0

是的,他们的工作不是开源的,但它证明这是可能的,并根据他们的公告,不是一个完整的重写,而是WebKit的升级。现在,我不知道他们是否设法通过他们的应用发布新的WebKit,或者他们只是在所包含的版本之上构建。 如果我们获得了一些内部信息,那将会很棒。 – Ivo 2012-08-26 12:12:07