999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Android網絡負載請求優(yōu)化方案設計

2015-05-30 22:04:35譚東楊德剛
中國新通信 2015年2期
關鍵詞:網絡

譚東 楊德剛

【摘要】 目前Android平臺的應用越來越多,基于Android平臺的開發(fā)者也越來越多。對于手機平臺來說,如何在這么小的平臺上流暢的運行一個程序變得越來越重要。其中網絡負載請求這塊是APP性能優(yōu)化的一個重要的部分。高性能的APP一般網絡數據請求效率也都非常的高,體驗自然會得到提升。本文從Android平臺移動APP的網絡負載請求優(yōu)化入手,分析和設計一個基于APP網絡數據請求模塊的架構和優(yōu)化設計方案。

【關鍵詞】 Android 網絡 網絡優(yōu)化 網絡架構

一、Android系統(tǒng)結構概述

1.1 Android架構分析

Android是基于Linux的一套完善的開源移動終端平臺操作系統(tǒng),系統(tǒng)架構和其操作系統(tǒng)一樣,采用了分層的架構。從架構圖看,android分為四個層,從高層到低層分別是應用程序層、應用程序框架層、系統(tǒng)運行庫層和linux核心層。

1.2 Android網絡模塊分析

Android網絡模塊一般分為兩種:基于Http協(xié)議的,基于Socket的。一般Socket是涉及到通訊聊天方面的APP采用的協(xié)議。這里我們只分析基于Http協(xié)議的部分。ANDROID系統(tǒng)網絡連接和管理服務由四個系統(tǒng)服務ConnectivityService、NetworkPolicyManagerService、NetworkManagementService、NetworkStatsService共同配合完成網絡連接和管理功能。幾個網絡管理服務搭配電源管理服務,會針對各個網絡環(huán)境下,如2G,3G,4G,Wifi和無網絡環(huán)境下的網絡處理和電量相關優(yōu)化處理。

目前Android4.0后的系統(tǒng)是不允許任何網絡耗時請求在UI線程中操作請求,想請求網絡操作必須單獨去開啟一個線程或者異步任務去處理相關網絡操作,這樣不會阻塞UI線程,當操作完成后通知UI線程更新界面和相應的邏輯。

二、Android網絡負載請求優(yōu)化方案

2.1 Android 網絡優(yōu)化分析

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

2.2 APP架構設計

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

2.3 Android優(yōu)化方案設計

在APP的程序中Application里創(chuàng)建一個全局網絡負載請求線程池,用于管理整個APP的網絡請求,并進行優(yōu)先級排序處理。單例模式,保證APP全局只有一個網絡請求實例,避免創(chuàng)建過多對象,無法管理,耗費系統(tǒng)資源。網絡線程池開辟一塊內存空間,里面存放了眾多(未死亡)的線程,池中線程執(zhí)行調度由池管理器來處理。當有線程任務時,從池中取一個,執(zhí)行完成后線程對象歸池,這樣可以避免反復創(chuàng)建線程對象所帶來的性能開銷,節(jié)省了系統(tǒng)的資源。

優(yōu)先級請求排序策略。設置線程池的核心線程數和最大線程數。所有 BlockingQueue 都可用于傳輸和保持提交的任務。可以使用此隊列與池大小進行交互:如果運行的線程少于 corePoolSize,則 Executor 始終首選添加新的線程,而不進行排隊;如果運行的線程等于或多于 corePoolSize,則 Executor 始終首選將請求加入隊列,而不添加新的線程;如果無法將請求加入隊列,則創(chuàng)建新的線程,除非創(chuàng)建此線程超出 maximumPoolSize,在這種情況下,任務將被拒絕。

網絡請求及時回收,與Activity同生命周期控制。在APP的全局Application里暴露一個添加和關閉回收網絡請求的List,用來及時的維護和銷毀網絡負載請求。這樣如果一個Activity停止的時候,同時取消所有或部分未完成的網絡請求。這樣就做到了多級別取消請求和Activity和生命周期的聯(lián)動。

合理的數據庫接口對接設計。在不影響數據庫請求效率和負載的前提下,用盡可能的少的接口去為APP提供數據。例如一個APP的界面Activity,盡量用最少的請求獲取網絡數據。這樣少量的網絡請求會提升APP穩(wěn)定性和流暢性。

設置網絡超時時間和網絡請求緩存。對于網絡請求如果不設置合理的超時時間,會導致某個請求在服務器沒有返回數據的情況下,不停地一直在后臺運行,耗費內存,所以設置超時時間會避免這一問題的出現(xiàn)。同時可以根據需要適當設置下網絡請求緩存,當重復請求某個接口時在規(guī)定的緩存有效時間內,讀取網絡緩存,可以減少耗費流量和優(yōu)化速度。

設立數據庫緩存機制。可以使用內置SQlite進行相應的網絡返回的數據進行緩存。優(yōu)先存儲一些固定的信息到數據庫,例如用戶的永遠不會變得信息,如id,性別,出生日期類似的。籠統(tǒng)的說,不變文件的緩存時間是永久,變化文件的緩存時間是最大忍受不變時間。采用緩存,可以進一步大大緩解數據交互的壓力,又能提供一定的離線瀏覽。當然緩存的數據需要更新的也要及時更新緩存。

設置圖片緩存,并且針對列表ListView或GridView等進行優(yōu)化。圖片處理加載在Android開發(fā)中經常會用到,圖片加載是一個非常耗費內存的,過大和過多就會造成內存溢出。簡單的緩存邏輯就是緩存網絡圖片到本地文件夾,下次重復加載時判斷本地緩存是否有,有的話讀取本地緩存,沒有就重新獲取,加載網絡圖片也是異步處理。圖片處理要考慮多線程,緩存,內存溢出等很多方面。對于一些縮略圖和原圖顯示要處理得當,縮略圖顯示的地方要講圖片壓縮處理合適尺寸。像ListView和GridView這種列表在滾動和停止時要對圖片加載進行處理,滾動時停止圖片加載工作,停止?jié)L動列表后再進行加載圖片數據。這樣可以避免滑動中列表卡頓和內存溢出情況。

三、總結

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

猜你喜歡
網絡
網絡語言暴力現(xiàn)象及對策分析
人間(2016年27期)2016-11-11 15:38:26
撫州市廣播電視臺非編制作系統(tǒng)網絡探究
現(xiàn)代網絡技術在體育教學中的應用研究
體育時空(2016年8期)2016-10-25 19:47:51
基于網絡體育新聞傳播的負效應研究
體育時空(2016年8期)2016-10-25 19:14:41
以網絡為載體的政府管理模式創(chuàng)新路徑分析
歷史文化類旅游產品網絡營銷探討—以故宮為例
計算機網絡管理技術探析
芻議計算機網絡信息化管理
油氣集輸系統(tǒng)信息化發(fā)展形勢展望
基于網絡的信息資源組織與評價現(xiàn)狀及發(fā)展趨勢研究
主站蜘蛛池模板: 欧美成人第一页| 亚洲精品老司机| 日韩A∨精品日韩精品无码| Jizz国产色系免费| 久久黄色视频影| 久久久久亚洲精品成人网| 试看120秒男女啪啪免费| 免费A∨中文乱码专区| 五月婷婷丁香综合| 99精品视频九九精品| 自拍欧美亚洲| 亚洲欧美一区二区三区麻豆| 免费亚洲成人| 国产成人综合在线视频| 国产精品欧美在线观看| 国产精品综合色区在线观看| 国产在线观看人成激情视频| 中文国产成人精品久久| 九九热视频在线免费观看| 国产农村1级毛片| 亚洲一区二区三区在线视频| 亚洲成综合人影院在院播放| 欧美日韩中文字幕在线| 免费Aⅴ片在线观看蜜芽Tⅴ| 伊人久久大香线蕉影院| 粗大猛烈进出高潮视频无码| 一级毛片a女人刺激视频免费| 久热99这里只有精品视频6| av午夜福利一片免费看| 美女被操91视频| 国产一区二区三区免费观看| 精品無碼一區在線觀看 | 五月婷婷导航| 噜噜噜综合亚洲| 日韩高清一区 | 制服丝袜在线视频香蕉| 国产成人亚洲无吗淙合青草| 一本无码在线观看| 欧美有码在线| 国产国拍精品视频免费看| 亚洲色欲色欲www网| 午夜国产精品视频| 看国产毛片| 亚洲第一成年免费网站| 日韩AV无码一区| 好久久免费视频高清| 好吊日免费视频| 夜夜操国产| 色偷偷综合网| 国产精品永久不卡免费视频| 午夜精品久久久久久久无码软件 | 国产成人亚洲综合a∨婷婷| 久久99国产乱子伦精品免| 国产亚洲欧美在线专区| 又黄又爽视频好爽视频| 欧美精品v欧洲精品| 国产在线一二三区| 亚洲天堂伊人| 久久性妇女精品免费| 日韩专区欧美| AV色爱天堂网| 国产成人啪视频一区二区三区| 亚洲欧洲天堂色AV| 在线免费观看AV| 无码丝袜人妻| 亚洲av无码牛牛影视在线二区| 美女国产在线| 国产成人精品日本亚洲| 久久男人资源站| 五月天综合婷婷| 婷婷伊人久久| 99这里只有精品在线| 热九九精品| 亚洲最新在线| 婷婷伊人久久| 国产av无码日韩av无码网站| 国产精品成人久久| 久久精品91麻豆| 538国产在线| 欧美午夜小视频| 拍国产真实乱人偷精品| 亚洲高清无在码在线无弹窗|