问题你应该问你自己
1.什么是我的记忆要求? 你是否需要大量的内存(不是物理堆在内)来处理数据或者它是最小的?现在每天大部分设备都有64 MB的堆大小,但这种情况因制造商而异。即使对于相同的API级别,它也是不同的。找出你的最低限度,然后确保你有可用的堆内存。
监视内存在运行时检查this
正在消耗找出多少堆内存可在当前的设备检查this和this。
记住android并不像windows和每个应用程序都以相同数量的堆内存开始,并且它对于该设备上的每个应用程序都是不变的。这意味着应用程序不允许超出此可用内存。您可以通过清单android:largeHeap="true"
中的此标签申请额外的内存,但此功能不适用于3.0之前的操作系统版本。
我已经在其中一个移动应用程序中尝试此应用程序,其中几乎所有内存均由其他应用程序使用。我的应用程序无法捕捉照片。当我删除一些应用程序,然后我的应用程序工作正常。
上述假设是相当混乱,因为当你的应用程序运行的是Android把所有其他的应用程序方面,这意味着你的应用程序将有记忆定义由你堆的大小,如果OS认为它需要更多的内存或没有分配更多它会杀死这些进程。 Android优先考虑当前正在运行的任务。因此,如果您正在与应用程序进行交互,那么它就不太可能会拥有更少的内存,然后堆大小。他们可能有一些不同于其他应用程序出现问题的原因。
2.我的API要求是什么? 如果您正在使用任何特定的API,而旧API和级别都无法使用,则您有两种选择,要么您说应用程序根本不支持该API版本,要么您可以支持该特定功能的端口。
3.我的硬件要求是什么? 问问你自己,如果你正在使用任何专业软件或硬件,如果特殊的硬件可用于所有设备或不是?例如,NFC,蓝牙。
4.我的显示要求是什么?这个应用程序只适用于手机或移动和平板电脑?那些位于平板电脑和手机之间的7英寸产品呢?
5.我的本地化要求是什么? 这个应用程序是否依赖于任何特殊字符集?如果某个设备没有这些字符,该怎么办?
而且,您提到的FYI金额不应超过几MB。但在处理位图时要小心。 Read this
您的应用程序使用相机吗? – 2013-03-19 13:46:54
你这个应用程序使用相机。网络服务,sqlite数据库,由卫星和由服务提供商的GPS .... – 2013-03-25 05:21:14