代码之家  ›  专栏  ›  技术社区  ›  MusiGenesis

对于黑莓应用程序来说,5 MB是否太大?

  •  2
  • MusiGenesis  · 技术社区  · 14 年前

    我参与了一个传统的黑莓应用程序,其中的COD安装文件大小约为5MB(主要来自嵌入式图像等)。这个尺寸有什么需要注意的吗?黑莓应用程序通常应该更小,为什么?

    3 回复  |  直到 14 年前
        1
  •  3
  •   Marc Novakowski    14 年前

    到目前为止,这个问题的一些很好的答案。我想补充的一点是,如果你的应用程序中有重复的图片(以支持不同设备上的不同屏幕大小),那么考虑创建不同版本的应用程序,只使用特定屏幕大小的图片。如果您还针对不同的OS版本,这可能会使构建的总数成倍增加—但是如果您关心应用程序的大小,那么这是一个很好的方法。

        2
  •  2
  •   Zalastax    14 年前

    你应该先优化你的图像。运行图像槽 http://www.punypng.com/ 是一个很好的方法。看看是否可以用较小的图像替换一些图像,或者尽可能多地使用相同的图像。
    黑莓设备有32、64或128 MB的RAM,具体取决于型号。您需要考虑是否所有这些5 Mb的内存将同时使用,或者它将使用更小或更大的数量。记住,你可以让一个应用程序的内存增加40MB,但是其他应用程序都不能运行。

        3
  •  2
  •   Vit Khudenko    14 年前

    嗯,我认为5Mb对于一款现代智能手机来说并不算太多。不管怎样,如果你的应用程序真的需要所有的图片,那么你除了拥有一个大的代码文件之外别无选择。在某些情况下,在慢速互联网这可能会产生一个缓慢的OTA安装过程。所以有些不耐烦的用户可能会取消安装。为了克服安装速度慢的问题,一些开发人员将核心代码与资源分离,因此在OTA安装之后,在第一次运行应用程序时,可能在弹出窗口或某种安装向导下下载资源。这当然会使启动代码更难实现。

    我能想到的另一个问题是——图像的尺寸是否优化了?BB以16位每色通道方案(RGB 565)显示颜色,而不考虑图像的颜色深度。因此,值得通过565滤波器对所有图像进行预处理(如果还没有)。这方面的Photoshop插件很少。但是不要指望大幅度的缩小。对于一个5 Mb的图像集,您可能只会得到1 Mb的“折扣”(20%),所以无论如何,您仍然有几个Mb。

    最后要注意的是,一定要正确地设计你的类,以便正确地利用RAM。很可能您的图像资源是某种压缩图像格式(JPG、PNG)的形式。因此在这种形式下,它们相对较小,但是当它们成为位图时,位图区域的每个像素至少吃掉2字节或最多吃掉4字节(这取决于位图类型)。确保你不会玩太多静态的东西,因为一旦加载它将活(吃内存)直到应用程序结束,除非你手动取消它。

    谢谢。