基于Android開發(fā)App所需的知識領(lǐng)域
一個完整的Android App的開發(fā),既包含簡單的操作,也涵蓋復(fù)雜的算法和技術(shù)實現(xiàn)。其涉及的知識領(lǐng)域廣泛,大體可以劃分為以下幾個關(guān)鍵部分:
一、前期需求規(guī)劃與信息

在開發(fā)之初,你需要制定一個詳盡的需求文檔,功能文檔,流程圖及時序圖等。這是整個項目的起點和方向指引,幫助你了解App所需的功能和潛在的用戶需求。
二、交互設(shè)計與UI設(shè)計
設(shè)計是App開發(fā)中不可或缺的一環(huán)。你需要設(shè)計出原型圖和基礎(chǔ)的交互設(shè)計效果,確保App的用戶體驗。還需掌握UI設(shè)計技巧,使用Photoshop和Illustrator等工具進(jìn)行界面設(shè)計,并熟悉px、pt和dp之間的換算,以適應(yīng)不同分辨率的設(shè)備。
三、開發(fā)環(huán)境及語言掌握
使用ADT等開發(fā)環(huán)境進(jìn)行App開發(fā),尤其是掌握J(rèn)ava語言,熟悉Android環(huán)境和機(jī)制。這里涉及的知識廣泛,包括API的使用、網(wǎng)絡(luò)協(xié)議等,需要根據(jù)項目自行深入學(xué)習(xí)。

四、后端知識與服務(wù)器交互
如果App非單機(jī)版,需要和后端服務(wù)器進(jìn)行交互。這就需要掌握WebService相關(guān)知識,以及ASP.Net、PHP、JSP等開發(fā)語言。還需要熟悉數(shù)據(jù)庫的開發(fā)與運(yùn)用。
五、算法與網(wǎng)絡(luò)知識
某些特定功能需要算法支持,這就需要一定的數(shù)學(xué)基礎(chǔ)和專業(yè)知識。熟悉TCP/IP、socket等網(wǎng)絡(luò)協(xié)議和相關(guān)知識也是必不可少的。
六、發(fā)布與調(diào)試

熟練掌握App的發(fā)布流程,包括真機(jī)調(diào)試技巧、證書、打包及上架等。這對于成功發(fā)布一個App至關(guān)重要。
關(guān)于Android與iOS的App大小對比問題,實際上并不是簡單的“哪個更大”的問題。由于開發(fā)環(huán)境、技術(shù)實現(xiàn)及功能差異等因素,同樣一個App在Android和iOS平臺上的大小可能會有較大差異。建議在對比時,更關(guān)注App的功能和用戶體驗等方面,而非單純的大小問題??傮w來說,無論是Android還是iOS平臺,開發(fā)者都需要不斷學(xué)習(xí)新技術(shù)和知識,以適應(yīng)不斷變化的市場需求。
值得注意的是,App開發(fā)往往需要團(tuán)隊協(xié)作完成各自擅長的領(lǐng)域。一個人可能難以勝任所有環(huán)節(jié)的工作,因此一個高效的團(tuán)隊是成功的關(guān)鍵。通過團(tuán)隊協(xié)作,可以充分利用各自的專業(yè)知識和技能,共同推動項目的進(jìn)展。建立一個有效的團(tuán)隊是每一個開發(fā)者都應(yīng)該重視的問題。iOS與Android系統(tǒng)APP文件大小差異解析
一、引言
在過去,關(guān)于iOS和Android系統(tǒng)APP文件大小的差異,有一種流行的說法是,由于iOS系統(tǒng)中iPhone、iPad有多種屏幕分辨率,導(dǎo)致APP包含多套圖像資源,從而使得文件體積龐大。而Android系統(tǒng)對圖像的處理要求相對較低,不同設(shè)備可以共用資源,因此APP相對較小。這種解釋放在現(xiàn)今已不完全準(zhǔn)確。本文將詳細(xì)探討兩個系統(tǒng)APP文件大小的不同之處。

二、安裝文件分析
我們都知道,Android系統(tǒng)的安裝文件通常為apk類型,而iOS則為ipa類型。這兩種安裝文件實質(zhì)上都是壓縮包。以微信APP為例,其apk版本(6.5.10)在Windows上的NTFS文件系統(tǒng)下顯示為44.1MB,解壓縮后占用93.7MB。而微信APP的ipa版本(6.5.11)原文件大小為145MB,解壓縮后占用186MB。初步看來,ipa文件無論是否解壓縮都明顯大于apk文件。
三、微信apk與ipa文件對比
一個apk文件解壓縮后,主要包括assets、lib、META-INF、r(即res)、AndroidManifest.xml、classes.dex、resources.arsc等文件和文件夾。其中,assets目錄存放靜態(tài)文件,如音效、字體、表情包等;lib目錄包含依賴庫文件;res目錄則主要存放資源文件,如圖片、影像。classes.dex文件則是Android中Dalvik虛擬機(jī)的可執(zhí)行文件。
iOS的ipa安裝包相對簡單,主要文件夾為Payload,其中包含APP的所有執(zhí)行和資源文件。對比兩個安裝文件,微信APP在iOS上的主執(zhí)行文件WeChat大小為132MB,而其他文件只有54MB。而在Android上,主執(zhí)行文件包括classes.dex文件和lib目錄,大小為52.6MB,其他資源文件為41.7MB。

四、解析兩個系統(tǒng)的APP安裝機(jī)制
從上述對比可見,除主執(zhí)行文件外,兩個系統(tǒng)的其他資源文件占用空間相差不大。文章開頭所說的因不同蘋果設(shè)備需要不同套圖導(dǎo)致安裝文件巨大的說法并不準(zhǔn)確。僅從安裝文件來看,iOS的APP確實比Android版的大好幾倍。這背后的原因涉及到兩個系統(tǒng)的APP安裝機(jī)制差異。
五、總結(jié)
雖然iOS和Android系統(tǒng)的APP在功能和使用上越來越接近,但在文件大小方面仍存在顯著差異。這主要源于兩者在安裝機(jī)制、系統(tǒng)架構(gòu)以及對資源處理方面的不同。隨著技術(shù)的發(fā)展,未來這兩個系統(tǒng)或許會進(jìn)一步縮小在APP大小方面的差異,為我們帶來更流暢、更高效的移動應(yīng)用體驗。APP安裝機(jī)制深度解析
一、Android與iOS的安裝機(jī)制概述

昔日的Android,倚仗Dalvik虛擬機(jī)執(zhí)行apk中的classes.dex文件。為提高APP啟動與運(yùn)行速率,從4.4.4版本起,Android轉(zhuǎn)向了ART虛擬機(jī)。此轉(zhuǎn)變帶來了apk安裝過程中的預(yù)編譯環(huán)節(jié),將dex文件編譯成機(jī)器更易識別的oat文件。而iOS,基于mac電腦上的OS X開發(fā),其APP安裝方式與之一脈相承,可理解為一個大文件夾的復(fù)制過程。
二、實測APP安裝后的占用空間
在Android 7.1.2的Lineage 14.1和iOS 10.3.2系統(tǒng)上,對比微信和網(wǎng)易云音樂兩個APP的應(yīng)用商店標(biāo)注大小與安裝后的實際占用空間。數(shù)據(jù)顯示,安裝后的APP大小往往超過其在應(yīng)用商店的標(biāo)注大小。
三 修大小比較詳解
微信APP在Android上的安裝文件僅標(biāo)注為44.1MB,但實際上增加到104MB。網(wǎng)易云音樂從標(biāo)注的29.8MB增至54.33MB。相較之下,iOS上的APP大小變化較小。這是因為iOS的App Store會根據(jù)設(shè)備型號適配必要的文件。這一現(xiàn)象解答了許多用戶對Android APP安裝后占用空間增加的困惑。

四、Android與iOS的存儲機(jī)制差異
Android應(yīng)用商店往往僅顯示APK安裝文件的大小,而iOS的App Store則顯示APP安裝后的占用空間大小。這種差異源于兩者的安裝機(jī)制不同。用戶在下載APP時,Android的更小安裝文件更便于下載,但在安裝前需預(yù)留更多存儲空間。
五、總結(jié)
關(guān)于“為什么iOS上的APP比Android大幾倍”的問題,實際上是一個誤解。真實情況是:App Store上標(biāo)注的APP大小是安裝后的占用空間大小,而Android應(yīng)用商店大多只顯示安裝文件的大小。在安裝APP后,Android與iOS的占用空間相差無幾。這樣的設(shè)計使得用戶能更直觀地了解手機(jī)的剩余容量,從而做出更明智的安裝決策。
