1.基于ADK的Java編程
目前開發(fā)安卓app的主流語言是Jave語言,Jave語言更大的特點(diǎn)是提高了軟件的交互可能性。使用開發(fā)Java語言的軟件的庫、數(shù)據(jù)庫和Java語言也有很多優(yōu)點(diǎn)。因此,安卓應(yīng)用軟件的開發(fā)被應(yīng)用到了Java核心類的知識中,這也使得使用Java語言的安卓軟件開發(fā)有了優(yōu)勢。
雖然使用Java開發(fā)App很方便,但是也很容易提高App的質(zhì)量。安卓雖然用虛擬機(jī)運(yùn)行Java,效率比非智能平臺的JVM高很多,但永遠(yuǎn)比不上NDK,所以安卓App速度慢很大程度上是因?yàn)镴ava。Java自帶內(nèi)存回收機(jī)制,所以開發(fā)人在使用Java開發(fā)App時(shí)往往不注意控制內(nèi)存泄漏(尤其是一些小軟件)。當(dāng)其進(jìn)程超過虛擬機(jī)分配的閾值時(shí),會被系統(tǒng)殺死釋放內(nèi)存,可能導(dǎo)致app崩潰,系統(tǒng)假死。
2.基于NDK的編程
c語言是一種結(jié)構(gòu)化語言。層次清晰,易于按照模塊化方法安排程序,易于調(diào)試和保護(hù)。c語言有很強(qiáng)的表達(dá)和處理能力。它不僅有豐富的運(yùn)算符和數(shù)據(jù)類型,而且便于完成各種雜亂的數(shù)據(jù)結(jié)構(gòu)。c語言是當(dāng)今比較流行的編程語言之一。它功能豐富、表現(xiàn)力強(qiáng)、靈活易用、應(yīng)用廣泛、政策性和程序性強(qiáng)、植入性好。它兼具高級語言和低級語言的特點(diǎn)。它適合作為系統(tǒng)描述語言,可以用來編寫系統(tǒng)軟件和應(yīng)用軟件。
除了Jave語言和C語言之外,事實(shí)上,Googel在2021年推出了全新的Android開發(fā)語言Sky,旨在提高APP的運(yùn)行速度和響應(yīng)速度。Sky不依賴平臺,它的代碼可以在安卓、iOS以及任何集成Dart虛擬機(jī)的平臺上運(yùn)行。
當(dāng)然,Sky語言能否取代Java語言,成為開發(fā)安卓應(yīng)用的主流語言還有待觀察,目前開發(fā)安卓的主流是Jave和C語言。如果你有Jave或者C語言的基礎(chǔ),你可以做AndroidAPP的開發(fā)。