2013-03-12 115 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

相關問題