<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • Android方案設計論文

    時間:2024-10-19 20:20:47 其他類論文 我要投稿

    Android方案設計論文

      一、Android網絡負載請求優化方案

    Android方案設計論文

      1.1Android網絡優化分析

      一般造成APP卡頓不流暢,數據請求緩慢的網絡相關原因有:多網絡請求同時異步并發;網絡請求的生命周期沒有和Activity和生命周期的聯動,Activity關閉后也可能某個網絡請求還在后臺進行;網絡請求的優先級處理不合理;重復網絡請求;網絡數據接口設計不合理;沒有設置網絡數據緩存;網絡請求的圖片沒有做緩存處理;創建過多的不必要對象,造成頻繁GC等。

      1.2APP架構設計

      采用MVC設計模式,邏輯業務,數據和視圖層分離。這樣在后期改進和個性化定制時不需要重新編寫業務邏輯。網絡請求框架采用谷歌自己的框架Volley。Volley是FicusKirpatrick在GooogleI/O2013發布的一個處理和緩存網絡請求的庫,能使網絡通信更快,更簡單,更健壯。Volley提供JSON,圖像等的異步下載;網絡請求的排序(scheduling);網絡請求的優先級處理;緩存,多級別取消請求,和Activity和生命周期的聯動(Activity結束時同時取消所有網絡請求)。

      1.3Android優化方案設計

      目前Android平臺的應用越來越多,基于Android平臺的開發者也越來越多。對于手機平臺來說,如何在這么小的平臺上流暢的運行一個程序變得越來越重要。其中網絡負載請求這塊是APP性能優化的一個重要的部分。高性能的APP一般網絡數據請求效率也都非常的高,體驗自然會得到提升。本文從Android平臺移動APP的網絡負載請求優化入手,分析和設計一個基于APP網絡數據請求模塊的架構和優化設計方案。在APP的程序中Application里創建一個全局網絡負載請求線程池,用于管理整個APP的網絡請求,并進行優先級排序處理。單例模式,保證APP全局只有一個網絡請求實例,避免創建過多對象,無法管理,耗費系統資源。網絡線程池開辟一塊內存空間,里面存放了眾多(未死亡)的線程,池中線程執行調度由池管理器來處理。當有線程任務時,從池中取一個,執行完成后線程對象歸池,這樣可以避免反復創建線程對象所帶來的性能開銷,節省了系統的資源。優先級請求排序策略。設置線程池的核心線程數和最大線程數。所有BlockingQueue都可用于傳輸和保持提交的任務。可以使用此隊列與池大小進行交互:如果運行的線程少于corePoolSize,則Executor始終首選添加新的線程,而不進行排隊;如果運行的線程等于或多于corePoolSize,則Executor始終首選將請求加入隊列,而不添加新的線程;如果無法將請求加入隊列,則創建新的線程,除非創建此線程超出maximumPoolSize,在這種情況下,任務將被拒絕。網絡請求及時回收,與Activity同生命周期控制。在APP的全局Application里暴露一個添加和關閉回收網絡請求的List,用來及時的維護和銷毀網絡負載請求。這樣如果一個Activity停止的時候,同時取消所有或部分未完成的網絡請求。這樣就做到了多級別取消請求和Activity和生命周期的聯動。合理的數據庫接口對接設計。在不影響數據庫請求效率和負載的前提下,用盡可能的少的接口去為APP提供數據。例如一個APP的界面Activity,盡量用最少的請求獲取網絡數據。這樣少量的網絡請求會提升APP穩定性和流暢性。設置網絡超時時間和網絡請求緩存。對于網絡請求如果不設置合理的超時時間,會導致某個請求在服務器沒有返回數據的情況下,不停地一直在后臺運行,耗費內存,所以設置超時時間會避免這一問題的出現。同時可以根據需要適當設置下網絡請求緩存,當重復請求某個接口時在規定的緩存有效時間內,讀取網絡緩存,可以減少耗費流量和優化速度。設立數據庫緩存機制。可以使用內置SQlite進行相應的網絡返回的數據進行緩存。優先存儲一些固定的信息到數據庫,例如用戶的永遠不會變得信息,如id,性別,出生日期類似的。籠統的說,不變文件的緩存時間是永久,變化文件的緩存時間是最大忍受不變時間。采用緩存,可以進一步大大緩解數據交互的壓力,又能提供一定的離線瀏覽。當然緩存的數據需要更新的也要及時更新緩存。設置圖片緩存,并且針對列表ListView或GridView等進行優化。圖片處理加載在Android開發中經常會用到,圖片加載是一個非常耗費內存的,過大和過多就會造成內存溢出。簡單的緩存邏輯就是緩存網絡圖片到本地文件夾,下次重復加載時判斷本地緩存是否有,有的話讀取本地緩存,沒有就重新獲取,加載網絡圖片也是異步處理。圖片處理要考慮多線程,緩存,內存溢出等很多方面。對于一些縮略圖和原圖顯示要處理得當,縮略圖顯示的地方要講圖片壓縮處理合適尺寸。像ListView和GridView這種列表在滾動和停止時要對圖片加載進行處理,滾動時停止圖片加載工作,停止滾動列表后再進行加載圖片數據。這樣可以避免滑動中列表卡頓和內存溢出情況。

      二、總結

      對于APP性能方面的優化有很多方面,其中網絡方面是一個重要的方向,大部分的APP的數據都是要和網絡打交道,所以很好的使用網絡請求、根據不同的情況和需求進行變更算法和優化策略尤為重要。良好的優化網絡策略會讓APP變得更加的快速,體驗更加的優秀。

    【Android方案設計論文】相關文章:

    微波傳輸系統方案設計論文02-13

    機載測試系統供電方案設計論文02-13

    直升機高層救援方案設計論文02-13

    高速公路改擴建方案設計論文12-05

    網絡平臺的發展前景及方案設計論文02-13

    集約化小學校園的方案設計論文02-13

    動車組轉向架生產組織方案設計論文02-13

    智能化水族箱系統的集成方案設計論文02-13

    基于H.323協議的音頻混合方案設計的論文02-14

    移動互聯網應用與開發人才培養方案設計與研究論文02-13

    • 相關推薦
    主站蜘蛛池模板: 国产精品一在线观看| 91国内揄拍国内精品情侣对白 | 久久国产精品一区| 999精品视频这里只有精品| 日韩三级精品| 国产精品视频色视频| 久久精品国产亚洲网站| 国产精品va无码一区二区| 亚洲精品无码Av人在线观看国产| 精品视频一区二区三区| 国产A∨国片精品一区二区| 国产亚洲美女精品久久久久狼| 精品久久久噜噜噜久久久| 亚洲精品无码专区在线在线播放| 精品无码三级在线观看视频 | 日韩精品少妇无码受不了| 久久夜色撩人精品国产小说| 国产精品麻豆入口| 亚洲精品国产成人专区| 国产乱码精品一区二区三区四川人| 精品少妇无码AV无码专区| 亚洲AV成人精品一区二区三区| 亚洲欧美国产∧v精品综合网 | 亚洲国产精品无码久久一线| 欧美精品丝袜久久久中文字幕 | 国产精品hd免费观看| 成人精品视频成人影院 | 精品无人区麻豆乱码1区2区| 2021最新国产精品网站| 精品国产三级a∨在线| 精品国际久久久久999波多野| 久久亚洲精品人成综合网| 色偷偷88888欧美精品久久久 | 国产综合精品蜜芽| 国内精品久久久久影院网站| 国产精品久久久99| 国产精品主播一区二区| 国产精品自产拍在线观看花钱看| 精品欧美激情在线看| 欧美精品一二区| 亚洲精品午夜无码专区|