71mb 添加到人行横道的应用程序大小

71mb added to app size for crosswalk

我真的希望我做错了什么。我已经将人行横道添加到一个项目中,并且应用程序大小有一些严重的增加。为了测试我做了以下事情。

  1. 创建了一个新的离子项目
  2. 将我的应用程序代码添加到 /www/
  3. 添加了 ngcordova 和各种插件
  4. 运行 离子构建并将 apk 拖放到 Genymotion 模拟器上。该应用程序运行速度非常慢,但应用程序大小为 8.01mb(安装后 - 通过应用程序管理器检查)。
  5. 然后我从模拟器中删除了应用程序
  6. 运行 ionic browser add crosswalk
  7. 运行 ionic run android 在模拟器上安装了正确的 .apk。在检查管理应用程序时,应用程序大小现在是 79.36mb!那是增加了 71mb!大多数地方最多说 20mb 但 71mb!!!

谁能告诉我我做错了什么?

当我添加 Android SDK 时,我确实在 SDK 管理器中添加了所有可用的工具和广告平台,这有一些效果吗?

如果这是可以解决的,那对我来说就是一个障碍,在花了数周时间开发应用程序之后这真是一种耻辱...

请帮忙!

同样的问题。我认为 20Mb 的承诺大小是用于压缩的 apk 文件,您正在查看设备上安装的大小。

您可以在 platforms/android/build/outputs/apk/platforms/android/ant-build/

上查看生成的 APK 大小

我也 运行 关注这个问题。不幸的是,使用人行横道肯定会增加你的 apk 大小。但是,我找到了至少可以减小 apk 大小的方法。例如,您可以使用 crosswalk lite。它可能会将您的 apk 大小减少大约 15 MB(请参阅 crosswalk lite)。 您还可以指定您不想为两种架构构建项目(已解释 here)。

我认为您遇到的问题虽然与 Crosswalk 相关,但与仿真相关。我试过 Android Studio 版本和 Genymotion 的模拟器。它们都不能很好地用于混合应用程序测试。

我的建议是尝试 Chrome Device Inspector along with actual device testing. I don't think anyone will argue that's the best way to ensure performance. AWS Device Farm 只是众多提供物理设备进行测试的产品之一。甚至还有服务可以让您将不同设备上的测试外包给真人,只是现在想不出它的名字...

我目前最喜欢的是 Cordova Tools for Visual Studio Code,但最近它对我来说有问题。


但是,我正处于一系列 Cordova 应用程序的早期阶段,并且对 Crosswalk 的开销感到震惊。 ~20MB 增加您的 APK,~70MB 增加您的应用程序的安装大小。这非常令人震惊,考虑到我们使用它的应用程序,资源资产(图像等)大约是这个插件大小的 1/10!

我们有一款应用实际上 降级 与人行横道。我的理论是,Crosswalk 不能很好地解析非标准 HTML,这是我们拥有的核心功能,因为我们对 XSLT 进行了转换 XML,最终成为非标准 HTML .与默认的 WebView 相比,遍历它非常慢。我们对原始 DocumentNode 对象进行了大量操作,所以也许就是这样。也就是说,我很惊讶,如果通过 vanilla JavaScript traversing/appending HTML 很慢,那么这些其他应用程序正在看到性能提升!

昨晚我还了解到有Shared Mode with Crosswalk可以让多个使用Crosswalk的应用程序共享一个实例。