2013-03-12 46 views
16

我与一些团队成员开发了一款android应用程序,该应用程序通过手机收集现场数据。如何获得最低的Android应用程序的硬件要求

现在这个应用程序正在生产。所以一般人会使用这个应用程序。 我们还需要创建一个说明我的android应用程序中介绍的所有东西的文档,以及无误地运行此应用程序的最低硬件要求是什么。

现在我怎么知道什么是最低硬件要求。

基本上在我的应用程序大约四TextField,三SpinnerDateEditText和两个ImageView

所以我怎么知道什么是运行这个应用程序的最低内存要求。

我已经尝试在其中一个移动应用程序几乎所有内存都由其他应用程序使用此应用程序。我的应用程序无法捕捉照片。当我删除一些应用程序,然后我的应用程序工作正常。

这就是为什么我想知道什么是运行我的应用程序的最低内存要求。

+0

您的应用程序使用相机吗? – 2013-03-19 13:46:54

+0

你这个应用程序使用相机。网络服务,sqlite数据库,由卫星和由服务提供商的GPS .... – 2013-03-25 05:21:14

回答

2

现在看来,这保证了在Android的任何进程将内存至少为16MB,最现代化的设备允许堆增长到24 + MB

请参阅 http://developer.android.com/reference/android/app/ActivityManager.html#getMemoryClass()

内存管理的说明全部开启操作系统方面,并有http://developer.android.com/guide/components/processes-and-threads.html#Lifecycle

描述的过程和线程的优先级,所以如果你的应用程序在前台它最有可能你有足够的资源处理来自相机的图像。

你用什么API来捕捉图像?

2

找出您的应用程序是否在某些硬件上运行的最佳方法是在该硬件上进行测试。问问你的朋友是否有老式的Android手机,并测试你的应用程序。

最糟糕的情况是,使多个Android虚拟设备具有不同的内存。但要小心,即使在硬件加速的情况下,android模拟器的速度也令人失望。

2

正如@veon所说,你可以做出一些估计。然而,它总是有点不可预知,因为你想知道它会在不同的环境下使用多少,你需要用户知道手机上其他应用程序的使用情况。

据我所知,您首要需要提供的是明确的文件。这可能是一个更容易(你和每个人)如下记录它:

此应用程序将所有最新的标准Android手机 (Android版本XXX及以上)运行。但是,如果其他应用程序 正在运行,特别是内存不足的应用程序正在运行,则其性能可能会受到影响。如果你有性能问题, 请删除其他应用程序,这些应用程序是内存和进程繁重。 如果您需要帮助确定,请使用诸如 ZDbox等应用程序来帮助您。

作为参考,我没有链接到ZDbox,我只是用它作为例子。

10

最低要求将取决于,而且将主要包括以下几点的测试和文档:

  1. API级别:支持最小Android版本,它主要是由开发人员知道。 Android中的API之间有很多重大变化。支持v4和v7-compat库确实有很多帮助,但它们并不涵盖所有方面。

  2. 设备功能:记下您的应用使用的所有功能。 (如具有触摸屏,具有相机,加速计,网络连接等)。幸运的是,你可以申明在应用程序清单(uses-feature)和Play商店将过滤出不支持的设备。

  3. RAM:使用DDMS/Android Studio看到实时的内存使用情况,在模拟器和实际设备上。尝试尽可能多地使用RAM,通过触发App的各种功能,让它长时间运行。以最小和最大使用量作为估计值。像TraceView等DDMS工具也可以让你看到堆,线程上的对象分配,并进行方法分析。长时间运行Monkey Tool,以压力应用程序。

  4. CPU速度IF应用程序确实密集型计算,数据转换等,你可能想在这样的计算代码一些时间戳日志编程。确保您设置CPU速度,以便无论需要进行哪些计算,都可以在足够的时间内完成,而不会使设备滞后太多。在视觉渲染的情况下,(游戏)良好的帧率是主要因素。在这种情况下,您可以针对帧速率对实际设备进行基准测试,并选择高端芯片组。您也可以推荐用户使用多核设备。

  5. CPU/GPU兼容性:另一个重要的细节是,如果一个应用程序具有C/C++代码,该代码可能无法在某些类型的CPU(MIPS,ARM或x86)的运行。使用OpenGL ES版本和可用扩展的应用程序也是如此。设备有不同的CPU /图形芯片组。

  6. 磁盘:安装后的应用程序的大小估计,需要注意的是为应用程序的最小磁盘要求是存储应用程序本身所需的空间,使其至少可以开始,并且不包括高速缓存,数据库或它在使用时创建的用户内容。

  7. 显示屏尺寸:虽然总是建议您使用灵敏的UI,但您的应用只能在某些屏幕尺寸下使用。所以,可以考虑兼容的屏幕尺寸。

  8. 你不能控制什么:记住你在什么其他 Apps的用户可能会遇到无法控制的,所以,它的安全声明,您的应用程序需要在设备上这么多免费 RAM,并假设最好的情况是,声明该设备至少安装了很多ram。例如,您注意到您的应用程序在最大输出时需要200 MB,因此要求仅为512 MB +设备。你也无法控制SD卡用户的大小,所以应用程序应该及时告诉用户在磁盘满了时它不能工作。

最后,好的测试是将估算转化为真正的基准。而且它更好地基于基准要求而不是仅基于估计。

UPDATE

有其提供的信息是什么 是最低内存要求,这取决于怎么可能场我用我的应用我 什么允许我任何API或类由Android正在采取bt 手机。

  1. API不能准确地预测运行时间。在你的代码中会有很多ifelse,加上用户输入,你无法预测对象创建和执行将沿着哪条确切路径。您只能使用DDMS等工具在外部监视运行时。

  2. 与苹果不同,Android是一个开放的系统,制造商可以自由选择的设备硬件的可能性非常大。再加上他们在他们设备的ROM中做的定制。没有通用的API会跟踪所有这些。只要坚持到Android API和标准规范,避免隐藏API的使用等

+0

我认为这是所有其他人的好答案。但是在这里,我需要通过在不同的设备上以及在仿真器上反复尝试来探索关于我的应用程序的所有信息。有没有任何API或类的android给予信息什么是最低内存要求取决于我在我的应用程序中使用字段的方式以及我正在使用手机的许可。 – 2013-03-25 05:31:36

+0

@VinitVikash更新了答案。 – 2013-03-25 12:35:41

1

这就是为什么我想知道什么是最低内存要求来运行我的应用程序。

使用little eye labs的监视工具。它监视other things之间的应用程序的功耗/内存消耗/ CPU消耗/网络活动。您可以download 30天试用。这应该给你一个公平的想法,你的应用程序消耗的资源。我不得不说,虽然这些应用程序通常不会与一组硬件要求一起发布。保持你的记忆/电池使用情况,你应该没问题。

至于内存不足,当您显示照相机拍摄的照片或照相机本身是否会关闭应用程序时,会发生这种情况吗?你是否释放相机所拥有的资源?看看这个问题 - Android camera out of memory exception

+0

此答案包含无效链接。 – 2017-08-16 13:27:47

3

问题你应该问你自己

1.什么是我的记忆要求? 你是否需要大量的内存(不是物理堆在内)来处理数据或者它是最小的?现在每天大部分设备都有64 MB的堆大小,但这种情况因制造商而异。即使对于相同的API级别,它也是不同的。找出你的最低限度,然后确保你有可用的堆内存。

监视内存在运行时检查this

正在消耗找出多少堆内存可在当前的设备检查thisthis

记住android并不像windows和每个应用程序都以相同数量的堆内存开始,并且它对于该设备上的每个应用程序都是不变的。这意味着应用程序不允许超出此可用内存。您可以通过清单android:largeHeap="true"中的此标签申请额外的内存,但此功能不适用于3.0之前的操作系统版本。

我已经在其中一个移动应用程序中尝试此应用程序,其中几乎所有内存均由其他应用程序使用。我的应用程序无法捕捉照片。当我删除一些应用程序,然后我的应用程序工作正常。

上述假设是相当混乱,因为当你的应用程序运行的是Android把所有其他的应用程序方面,这意味着你的应用程序将有记忆定义由你堆的大小,如果OS认为它需要更多的内存或没有分配更多它会杀死这些进程。 Android优先考虑当前正在运行的任务。因此,如果您正在与应用程序进行交互,那么它就不太可能会拥有更少的内存,然后堆大小。他们可能有一些不同于其他应用程序出现问题的原因。

2.我的API要求是什么? 如果您正在使用任何特定的API,而旧API和级别都无法使用,则您有两种选择,要么您说应用程序根本不支持该API版本,要么您可以支持该特定功能的端口。

3.我的硬件要求是什么? 问问你自己,如果你正在使用任何专业软件或硬件,如果特殊的硬件可用于所有设备或不是?例如,NFC,蓝牙。

4.我的显示要求是什么?这个应用程序只适用于手机或移动和平板电脑?那些位于平板电脑和手机之间的7英寸产品呢?

5.我的本地化要求是什么? 这个应用程序是否依赖于任何特殊字符集?如果某个设备没有这些字符,该怎么办?

而且,您提到的FYI金额不应超过几MB。但在处理位图时要小心。 Read this

相关问题