編輯:關於android開發
我們知道,Android應用主要是通過客戶端-服務器的方式進行數據交互,一般在APP開發時可能是一個接口對應一個顯示模塊,這樣的設計會讓客戶端更新時很麻煩。為了解決這個問題,通常的做法是和服務端之間定義協議,設計顯示模式,進而達到實時更新UI界面的目的,增加或刪除顯示模塊時不需要讓用戶手動更新apk,這種方法最常見的就是在做活動或者廣告的時候用到。以我們的優雲Mobile移動端為例,Android和iOS應當使用一個統一的接口定義我們的導航欄,針對每個導航欄下的子頁面數據對圖形進行規劃分類,UI需要給出前端有哪些展現形式。如圖所示:
1
2
3
有了顯示模式的設計,接下來就是實現了,對於客戶端來說,http通信的框架選型是很重要的,目前Andriod Http通信的框架常用的有以下四種:
·HttpClient:
源於Apache,更適合在Android2.2以下的版本使用,在Android6.0中已經被刪除。
·HttpUrlConnection:
Android標准實現,支持GZIP壓縮,連接速度比HttpClient要快很多,推薦使用。
·Volley:
2013年google發布的第三方http開源框架,內部集成了HttpClient和HttpUrlConnection,內部有一個線程池,讓所有的http請求進行排序,在網絡圖片加載中采用三級緩存機制使網絡圖片進行異步加載,適合數量不大但通信頻繁的地方使用。目前我們的優雲Mobile移動端使用的就是這個框架,但是這個框架的不足在於對服務端重定向或者異常的情況處理不夠。可以在源代碼基礎上添加服務端可能返回的錯誤處理。
·okHttp:
2015年Google發布的okHttp,功能十分強大,封裝了文件的上傳下載功能,圖片的加載,處理了服務端各種可能的網絡錯誤,但是文件大小有311k,某些場景下使用可能會稍嫌臃腫。
接下來我們談談內存分析。再好的代碼,我們也需要進行內存校驗,看看是否有內存溢出或者內存洩漏的情況,這裡利用google提供的Mat工具進行可視化分析,確保我們的內存正常。首先在DDMS中選擇我們的應用,點擊Dump按鈕,運行apk一段時間或者利用monkey進行自動化測試一段時間後,再次點擊Dump,得到.hprof文件,利用Androidsdk裡面的hprof-conv命令將.hprof文件轉化為MemoryAnalyzer可以識別的文件,再打開mat工具,打開.hprof文件,得到如下圖所示的內容,進行內存分析查看。
最後介紹下apk文件打包,我們現在大部分是用Android studio進行開發,打包也是用gradle進行渠道分類打包,配置完混淆文件後,gradle中再配置不同的渠道,可以傳遞渠道號給服務端讓服務端進行不同版本和不同渠道號的分析和控制。
值得期待的是,優雲Mobile一旦安裝到手機上,即可隨時隨地可查看應用體驗數據。
Kotlin的擴展函數:擴展Android框架(KAD 08),kotlinandroid作者:Antonio Leiva 時間:Jan 11, 2017 原文鏈接:ht
Android Studio NDK開發 以前接觸過NDK的開發,是在Eclipse環境下開發的。今天嘗試了下用Android Studio來配置,結果真是處處都是坑,現
Android Studio 優秀插件(二): Parcelable Code Generator,androidparcelableAndroid Studio 優秀插
Android系統的五種數據存儲形式(二),android數據存儲 之前介紹了Android系統下三種數據存儲形式,今天補