为什么我会扩展AppCompatActivity而不是Android 4.0及更高版本的Activity?

时间:2017-09-01 13:34:51

标签: android android-appcompat

当我为Android 2.2编写我的第一个Android应用时,我的活动必须使用extends AppCompatActivity,因为Android 2.2中没有可用的片段。

今天为Android 4.0及更新版本编写的许多应用使用extends AppCompatActivity而不是extends Activity。由于Android 4支持片段和样式,因此仍需要使用AppCompatActivity

Android Studio向导还会为AppCompatActivity生成代码。

注意:这个问题关于" AppCompat"一般来说(如Android 6权限支持,它只涉及活动和片段处理。

[更新] 我的问题实际上是关于 concreate 的例子,android-4.0下的AppCompatActivity Activity可以做什么而不是带有if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.XXX)的android-4.0 Actrivity。我发现AppCompatActivity添加了get / setSupportXXXX

我到目前为止唯一具体的例子是使用Material Design视图。

2 个答案:

答案 0 :(得分:5)

AppCompatActivity定期进行改进(支持库更新)。普通的Activity类是静态的,代码只写了一次而且从未更新过。

因此无论Android版本如何,AppCompatActivity几乎总是更好,更快,更新。

此外,稍后会在Android 5等版本中添加其他功能,这些功能需要重新移植到4.0。

答案 1 :(得分:0)

自2017年以来,AppCompat-7库对于托管Lifecycle-Aware Components的活动和片段必不可少