据我所知,每部Android手机都限制所有应用程序的最大内存使用量约为16,24或32Mb。我刚看到有人讨论应用Dungeon Defenders,它似乎似乎使用了256 Mb的RAM。
应用程序描述:“最低要求:512 MB RAM(运行时256个可用)” http://www.appbrain.com/app/dungeon-defenders%3A-first-wave/com.trendy.ddapp
如何让这款游戏在Droid上运行的指南(需要自定义ROM才能获得256Mb的RAM免费运行游戏): http://www.forums.trendyent.com/showthread.php?447-How-to-play-Dungeon-Defenders-on-your- 摩托罗拉的Droid-Milestone-(需要根)
这怎么可能?有谁知道这里发生了什么?访问那么多RAM会使某些我正在编写的项目更容易编写,所以我很想知道这个游戏在做什么。
答案 0 :(得分:1)
在德国柏林的droidcon上,我听说你无法增加应用程序在dalvik端使用的RAM量。你可以使用本机端的所有可用内存,所以我猜这个命名的应用程序已经使用NDK在C中实现了大量内存。这是我所知道的唯一可能的解决方案......
更新这不是会议,是我和Reto Meier及其同事一起访问我大学的Google实验室。
答案 1 :(得分:0)
据我所知,Android自2.2版以来可以使用超过256MB的RAM 然而,大多数手机显示的功率低于它们,因为系统总会保留一些Ram。
答案 2 :(得分:0)
我正在为我的应用程序使用NDK。对于我的测试设备,当我超过16mb限制(HTC magic,android 2.2)时,应用程序崩溃,系统抛出无效地址访问的异常。 所以不,你不能从原生方面或从java管理方那里使用你想要的所有内存。
我已经阅读过使用不同的.so库并在运行你的应用程序时加载它们,但我不知道它是如何工作的,或者它是否是一个可行的解决方法。有什么建议?
答案 3 :(得分:0)
如果您不需要实时渲染图像,答案很简单,只需将图像发送到服务器,使用一些图像处理命令,将其渲染回来,然后将其发送回Android。如果您的应用程序需要大于256MB的内存,那么您将严重限制很多受众,这并不好。