考虑到内存限制,android如何处理播放视频?

时间:2012-10-19 20:20:39

标签: android memory video sd-card

我很好奇是否有人能指出(或只是描述)如何,因为Android应用程序的内存空间非常有限(我认为它大约是20兆),视频播放器可以加载和播放视频大小或更大的视频。该应用是否以某种块的形式加载视频?

我问,因为我有一个应用程序,其中嵌入了一些视频资产,应用程序已经增长到大约80兆,并且只是一个用于编译和调试的怪物(没有应用程序只有大约2兆的资产),而且我在想我应该删除资产并让它们在侧面下载并坐在SD卡上,而不是在apk中,但我担心加载它们并在运行时播放它们会破坏应用程序的内存分配,并希望有人可以阐明我的选择。

TIA

3 个答案:

答案 0 :(得分:1)

您可以将游戏带入可以绕过此限制的本机层。看看我写的http://jnispot.blogspot.com/2012/10/jnindk-arrays-bitmaps-and-games-oh-my.html

博客

答案 1 :(得分:1)

他们以可管理的块缓冲视频,是的。即使您的视频尺寸为GB,也不会使用标准视频播放API来打印内存墙。您可以使用setVideoURIsetVideoPath的标准调用来指向该文件,它将从那里处理它。如果您不使用MediaPlayer

,则VideoView通常也适用

下载apk外的视频仍然是一个好主意。如果我必须为每次增量升级下载一个新的80MB文件,我可能只是卸载。如果您不想自己托管它们,请查看补充apk选项。

答案 2 :(得分:0)

我不知道这是视频应用程序的作用,但实际上,通过在本机代码中使用malloc语句,可以将内存增加到超出正常限制。这绕过了大约20 MB的正常最大值。

我只在Android设备上使用此加密技术,在处理大型加密文件(甚至大约10MB文件)时,AES加密需要更多的内存量。