我正在创建一个小型 Android 应用程序。
至关重要的是,所有用作位图资源的图像都一次全部加载到内存中,以便可以在任何给定时间在屏幕上绘制它们。
出现在我的硬盘上的所有图像的总和只是超过 19MB - 这不是很多,但是尝试将它们全部加载到主要 Load 方法中的内存中总是会给我抛出 OutOfMemory 异常。
我已经阅读android:largeHeap = "true"
了包清单文件中的设置可以帮助解决这个问题,但是由于我使用 dot42 作为我的开发框架和环境,我在设置它时遇到了麻烦。
这似乎是一种快速清单指南, http://docs.dot42.com/manifest 但我很难理解它,因为它显然是针对对这两个平台非常了解的人,即兴创作解决方案。
这么快的问题,我怎样才能在 Dot42 中设置这样的属性?
另外,为什么应用程序中的内存限制如此严格?官方文档列出了单张 16MB 的照片通常会超过内存限制,这是零意义的。
在一个必须显示大量内存密集型内容(如相册或相机记录应用程序)的应用程序中,如何解决这个问题?我看过并玩过数千兆字节的 3D 动作游戏,在任何给定时间肯定必须分配超过两十兆字节的内存,那么他们怎么能分配这么多呢?