我有一个 Android 应用程序(客户端应用程序),它需要在应用程序中提供多个视频以供本地播放。平均视频为 10MB+。我不相信这些视频会经常更新,如果有的话…… 此应用程序可能永远不会托管在 Google Play 上,但将来可能会托管。它目前被视为企业应用程序。
应用程序中包含所有 mp4 视频(在原始文件夹中),apk 为 300-500MB(取决于使用的质量/压缩)。这有时会因为超时而在某些平板电脑上安装失败,或者 20 分钟后,它发现设备上没有足够的存储空间...
开始时在 apk 中包含 300+MB 的视频是不是一个坏主意?由于它是一个公司应用程序,因此用户采用可能没有问题 - 所有客户都需要该应用程序. 但是,.apks 会被压缩到一个单独的文件夹中,从而占用双倍的手机内存吗?我假设 .apks 安装到与 sdcard 或其他“外部存储”位置不同的分区..
我的想法是创建一个没有视频的简单 apk,然后使用 AsyncTask 或服务(或队列机制,例如 Jake Wharton 的 Tape 项目,甚至是 AndroidQuery )来处理视频的自动下载该应用程序首次启动。但随后客户端必须托管所有这些视频文件以及一个 .apk 文件。我个人认为这不是问题。
此外,如果视频与 .apk 分开,那么它也打开了 Kindle 和 Nook 设备的可能性,因为这些市场对 .apk 文件大小有 MB 限制...
这个 Android 应用应该是所有视频合一的,还是应该拆分 .apk 和视频文件?
最佳答案
我认为在应用程序本身中允许 300 MB 的视频不是一个好主意,即使它是一个公司私有(private)应用程序。
您是否看过 PlayStore 中的应用程序以及它们如何处理较大的文件?特别是游戏。首先,他们将允许您下载应用程序的核心。下载核心后,它将下载工作所需的文件(可能是用户登录时将播放的初始视频)。之后你可以让用户在必要的基础上从服务器下载视频,而不是强制他们下载所有视频。
另一种选择是让他们流式传输视频。因此,您不必将任何视频下载到设备。对于存储空间非常有限的设备,这将是它们的理想解决方案。
关于Android 应用程序 - 在 apk 中 bundle 视频是个坏主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15697432/