簡體   English   中英

高效啟動應用程序的最佳方法

[英]Best way to start an application efficiently

問題在於,我想知道什么是啟動需要的Android應用程序的最有效方法:

1- xml / json流將通過WebServices下載(文本,圖像url,dataq等)

2-將數據保存在sqlite中,然后加載以在應用程序中使用(1-的數據)

3-保存在SharedPreference中的數據也被加載以供應用程序使用(某些用戶輸入)

4-要從網址下載的圖片(網址為1-的圖片)

我需要的是一種在所有約束條件下啟動應用程序的好方法(從Web服務加載數據,sqlite插入/更新等),但是要使應用程序盡快啟動,必須​​高效地加載數據。

我要說的是純粹的速度。 SharedPref-SQLite-xml / json。

與在計算機本身上進行本地操作相比,建立網絡連接總是較慢。 即使不是在完美的條件下,您也無法保證完美的移動互聯網和服務器性能。 之后,您仍然必須解析它。

並不是為了保存整個數據結構而創建SharedPreferences,只是為了將一些簡單的事情作為小的設置而保留一段時間。

您要對數據進行的操作是從服務器加載一次。 最好不顯示加載屏幕等。將其保存到SQLite數據庫中。 在下次啟動時,您可以(幾乎)立即顯示數據庫中的數據,並在后台從Web服務進行更新以保持最新。

好問題 ! 我將列出一系列很棒的庫。 首先,您肯定要看一下AndroidAnnotations,這確實可以簡化您的工作。 不要害怕在Annotations上的表現。 這不是反思,而是編譯步驟。 它確實簡化了共享首選項的使用。 對於http來說, spring很好,並且與android注釋很好地集成在一起。 我從未在WS中使用過xml,但是對於json映射,我使用Jackson,它非常快速和靈活。 我認為gson也做得很好。

對於圖像加載,UIL是最有效和最成熟的(因此,在我進行基准測試時,7月份也是如此,畢加索和Volley也是這種情況)。

現在,我還沒有找到ORM聖人,但我的建議是“您真的需要數據庫嗎?” 如果您有懷疑的退縮。 如果需要,ormlite有一些性能問題。 在我的下一個項目中,我將嘗試greenDao。

明確地將CursorAdapter用於ListView + SQLite,而不是在Listview中加載。 但是請確保不要同時密集訪問數據庫(WS寫)。

如果您需要傳遞“ Hey new data is available in database refresh”之類的事件,請不要創建樣板接口。 使用事件總線,這真是太棒了

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM