Android 当应用程序启动时,默认布局在我的应用程序设置内容视图之前首次闪烁

Android 当应用程序启动时,默认布局在我的应用程序设置内容视图之前首次闪烁,android,layout,Android,Layout,我正在制作一个应用程序,它有这样的架构 有两项活动 a) 基本活动 b) 主要活动 BaseActivity扩展活动 及 mainActivity扩展了BaseActivity 现在 及 现在,当我启动应用程序main时,在应用程序将内容视图设置为R.Layout.screen\u main 对于令人沮丧的2秒钟,它首先闪烁一个带有标题的白色屏幕,然后执行setContentView(R.Layout.screen\u main) 我有一种感觉,当应用程序在super中处理时,它会将内容视图设置

我正在制作一个应用程序,它有这样的架构

有两项活动

a) 基本活动

b) 主要活动

BaseActivity扩展活动

mainActivity扩展了BaseActivity

现在

现在,当我启动应用程序main时,在应用程序将内容视图设置为
R.Layout.screen\u main
对于令人沮丧的2秒钟,它首先闪烁一个带有标题的白色屏幕,然后执行
setContentView(R.Layout.screen\u main)

我有一种感觉,当应用程序在super中处理时,它会将内容视图设置为android的默认布局。
OnCreate
对于大多数应用程序,它会显示一个没有任何标题栏的黑屏,但是在我的应用程序中,它首先显示一个默认的android布局,即白屏和标题栏,然后加载我的布局 所以我的问题是

为什么会这样?我应该怎么做?应用程序做的第一件事是设置我的布局,这样当我们启动应用程序时,它会显示我的视图,而不会首先显示带有标题的白色屏幕,即使是安装在这个屏幕上的空白黑屏也可以

试试看

public class MainActivity extends Activity


这是因为每当执行
main活动时,
super.onCreate()
调用

因为
super.onCreate()

BaseActivity的onCreate将被执行,因此将显示BaseActivity内容。 每当它到达终点线

setContentView(layout)
它将为您当前的活动
设置新内容,即MainActivity

每当您希望在所有活动中使用公共菜单时,建议您使用它,因为您正在设置内容,但您正在BaseActivity中设置内容,这使得在调用
super.onCreate()
时,它的内容显示在当前活动上。
因此,不要使用BaseActivity进行扩展,而是扩展Activity,这可能是因为您正在调用
BaseActivity
中的某个地方的
MainActivity
,并且它会再次被递归调用

但是我不想改变架构,,,我所做的是将setContentView的代码从mainactivity移动到基本activity,但是它没有区别,,,将setContentView(R.layout.screen_main)放在BaseActivity类的super.OnCreate(SavedInstance)下,而不是mainactivity。这应该可以解决你的问题。我希望保持应用程序的架构不变。还有什么解决办法,即使在活动开始时出现黑屏也行吗?我尝试在基本活动的oncreate中将content view设置为空白黑屏,然后在主活动的oncreate中将content view再次设置为sreen_main,但没有成功根本没有影响应用程序,然后我还更改了oncreate中super的执行顺序。在主活动中设置ContentView后,我尝试执行super,即使没有help@aman不要为BaseActivity设置任何contentview。只需在BaseActivity的onCreate()方法中调用super.onCreate()
public class MainActivity extends Activity
public class BaseActivity extends Activity 
setContentView(layout)