2017-09-01 48 views
-3

當我爲Android 2.2編寫我的第一個Android應用時,我的活動必須使用extends AppCompatActivity,因爲在Android 2.2中不可用的片段。爲什麼我會擴展AppCompatActivity而不是Activity for Android 4.0以上?

今天,許多針對Android 4.0和更新版本編寫的應用程序使用extends AppCompatActivity而不是extends Activity。由於Android 4支持片段和樣式,仍然需要使用AppCompatActivity

Android Studio嚮導還生成代碼AppCompatActivity

注:這個問題一般關於「程序兼容性」(如Android 6許可的支持,這是隻有約活動,分片處理

[更新] 什麼我的問題其實是關於concreate。是什麼在Android的4.0 AppCompatActivity活動可以比Android的4.0 Actrivity與if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.XXX)不能做的做例子。所有我發現AppCompatActivity增加了獲取/ setSupportXXXX

唯一具體的例子我走到這一步,就是用材料設計的觀點。

+1

'AppCompatActivity'以透明的方式啓用了許多向後兼容功能。例如,實現了Material Design視圖和4.0中不可用的功能。所以,使用它仍然是一個好習慣。 –

+0

任何關於downvotes的解釋?是否應該將問題重新定義爲「不使用AppCompatActivity有什麼不利之處」? – k3b

+0

今天,許多針對Android 4.0和更新用途編寫的應用程序擴展了AppCompatActivity。你確定??? –

回答

3

AppCompatActivity定期獲得改進(支持庫更新)。普通的Activity類是靜態的,代碼只寫過一次,從不更新。

因此,無論Android版本如何,AppCompatActivity幾乎總是更好,更快,更新。

此外,其他功能稍後會添加到Android 5等版本中,需要將其移植到4.0。

+2

您錯過了AppCompat向後兼容性的部分,並且appcompat主題需要AppCompatActivity而不是Activity – Zoe

相關問題