Intereting Posts
   

透支和Romain Guy的博客发布了Android Performance Case Study

根据Romain Guy的博客文章Android Performance Case Study在谈到Overdraw时,他说:

删除窗口背景:系统使用主题中定义的背景在启动应用程序时创建预览窗口。 除非您的应用程序是透明的,否则永远不要将其设 相反,通过调用getWindow()将其设置为您想要的颜色/图像或从onCreate()中删除.setBackgroundDrawable(null)。***

但是getWindow()。setBackgroundDrawable(null)似乎没有任何效果。 这是一个代码示例:

//MainActivity @Override protected void onCreate(Bundle savedInstanceState) { getWindow().setBackgroundDrawable(null); super.onCreate(savedInstanceState); setContentView(R.layout.main); } // main.xml     // styles.xml  @color/yellow  

此示例在图像中生成结果。 您可以看到外层有一个透支,窗口背景颜色仍然可见。 我预计窗口的背景将消失,只有lineralayout才能透支。

在此处输入图像描述

只需将getWindow().setBackgroundDrawable(null)向下移动,直到setContentView(R.layout.main)之后的任何位置; 例如:

 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); getWindow().setBackgroundDrawable(null); } 

setContentView(...)调用传播设置活动附加到的窗口上的内容,并可能覆盖您使用setBackgroundDrawable(null)进行的更改。

结果:

在此处输入图像描述