嗨Android开发人员,在Android中具有较大尺寸的内存缓存中
我想弄清楚一种方法来实现内存中的缓存;但与dvm堆大小相比,其大小将相对较大。我曾计划使用nio和/或Parcel类来序列化我的对象,然后将它们存储在本机内存中;但是我无法预测从字节中重建这些对象的性能。此外,我找不到任何有用的东西,教会如何使用Parcel和Parcelable来执行一些自定义序列化。我知道这是在android的IPC;并且我没有发现检查Parcel.cpp以了解Binder协议的内部结构,因此非常有趣且可行。另一方面,由于dvm堆大小限制,我无法使用LRUCache类,这意味着我将无法将我的java对象存储在dvm堆上。根据我迄今为止在网上的研究,超出dvm堆大小的唯一方法是告诉我的客户在安装我的应用程序之前先根据他们的设备(或者我误解了。如果是这样的话,请做纠正我),以便他们可以修改其设备的堆大小选项。
我试图避免NDK现在实现缓存,因为我必须将我的c/C++实例最终传递给java端。长期以来,任何开发人员都会告诉我实现内存缓存的最佳方法,该缓存可能会渗透dvm堆大小限制并且运行速度很快?或者至少,如果您可以向我发送一些链接,pdf,电子书,文档等,以供我查看;那真是太棒了!
感谢, Ilker GURCAN
也许使用<机器人:largeHeap =“真”>在清单可以帮助您? – SteveR 2012-07-28 11:43:57
不,我不这么认为......这个选项允许安装蜂巢的设备。我的应用程序应该至少在froyo(Android 2.2)上运行。 – iliTheFallen 2012-07-28 12:21:21