安卓

首页 » 常识 » 问答 » 各大android应用商店的展示权重安
TUhjnbcbe - 2022/4/23 22:53:00

無論锤子還是茄子手機的不時冒出,Android係統的手機市場佔有率目前來說還是最大的,因而基於Android開發的App數量也是很庞大的。那麼,如何能開發出更高性能的AndroidApp?置信是软件開發公司以及廣阔程序員們頭疼的一大難題。今天,就給大家提供幾個進步AndroidApp性能的技巧。

高效天時用線程1.在後台取消一些線程中的動作

我們晓得App運轉過程中一切的操作都默許在主線程(UI線程)中停止的,這樣App的響應速度就會遭到影響。會招致程序墮入卡頓、死掉以至會發作係統錯誤。

爲了加快響應速度,需求把费時的操作(比方網络懇求、數據庫操作或者復雜的計算)從主線程挪動到一個單獨的線程中。最高效的方式就是在類這一級完成這項操作,能夠運用AsyncTask或者IntentService來創立後台操作。假如選择運用IntentService,它會在需求的時分啟動起來,然後經過一個工作線程來處置懇求(Intent)。

運用IntentService時需求留意以下幾點限製:

這個類不要給UI傳送信息,假如要向用戶展現處置結果信息請用Activity;

每次只能處置一個懇求;

每一個處置懇求過程都不能中缀;

2.堅持響應不發作ANR

從UI線程中移除费時操作這個方式還能夠避免用戶操作呈現係統不響應(ANR)對話框。需求做的就是繼承AsyncTask來創立一個後台工作線程,並完成doInBackground()辦法。

還有一種方式就是本人創立一個Thread類或者HandlerThread類。需求留意這樣也會使App變慢,由於默許的線程優先級和主線程的優先級是一樣的,除非妳明白設定線程的優先級。

3.在線程中初始化查询操作

當查询操作正在後台處置時,展現數據也不是即時的,但是妳能夠運用CursorLoader對象來加快速度,這個操作能夠使Activity和用戶之間的互動不受影響。

運用這個對象後,妳的App會爲ContentProvider初始化一個獨立的後台線程停止查询,當查询完畢後就會給調用查询的Activity返回結果。

4.其它需求留意的方面

運用StrictMode來檢查UI線程中可能潜在的费時操作;

運用一些特殊的工具如Safe.ijiami、Systrace或者Traceview來尋觅在妳的應用中的瓶頸;

用進度條向用戶展現操作進度;

假如初始化操作很费時,請展現一個歡送界面。

预览时标签不可点收录于话题#个上一篇下一篇
1
查看完整版本: 各大android应用商店的展示权重安