在应用程序开发中,经常看到在Activity中多次调用getActionBar()方法,然后对直接对其进行设置,
次数多了,我不禁想问一句,多次调用getActionBar()并对其进行操作,实际上是用到一个对象了吗?
下面从源码的角度进行分析。
public ActionBar getActionBar() {
}
一看到这,关键的部位出来了,initActionBar(); 继续跟进
private void initActionBar() {
看到了吧,
if (isChild() || !window.hasFeature(Window.FEATURE_ACTION_BAR)|| mActionBar != null) {
}
当mActionBar不为null的时候,直接返回
所以二者返回的是同一个ActionBar对象。