我正在编写一个使用多个 3D 模型的 Android 应用程序。这种带有纹理的模型会占用大量内存。我发现制造商对应用程序可以使用的堆大小设置了限制。例如我的平板电脑三星 Galaxy Tab 8.9 P7310 可以占用 64MB 内存。
有没有办法增加应用程序可以使用的内存大小?
您可以使用安卓:largeHeap =“真” http://developer.android.com/reference/android/R.styleable.html#AndroidManifestApplication_largeHeap请求更大的堆大小,但这不适用于任何预蜂窝设备。在 2.3 之前的设备上,您可以使用 VMRuntime 类,但这不适用于 Gingerbread 及更高版本。
拥有尽可能大的限制的唯一方法是通过 NDK 执行内存密集型任务,因为 NDK 不会像 SDK 那样施加内存限制。
或者,您可以仅加载当前视图中的模型部分,并根据需要加载其余部分,同时从内存中删除未使用的部分。但是,这可能无法实现,具体取决于您的应用程序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)