在android应用开发时,当app做的比较大时就会有闪屏的现象。这种现象,不是体验客户所想要的,所以解决这个问题就必须知道为什么会出现这种情况。
在讲闪退之前,先讲解一下,android style和theme的应用。
当在一个应用中在一个或者多个Activity的布局有一些布局属性是相同的时候,而且较多的时候,最好自定义一个style.xml资源,资源形式为:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name=“mystyle”> <!-- 为样式定义一个全局唯一的名字 -->
<item name="android:textSize">18px</item> <!-- name 属性为样式要用在的 View 控件持有的属性 -->
<item name="android:textColor">#0000CC</item>
</style>
</resources>
资源文件的拓展
style="@style/mystyle”
parent="@android:style/TextAppearance.Medium"
主要在name后面写parent继承属性,一般使用“.“加自定义名称来拓展。可以复写item也添加item属性
相应的xml布局使用资源即可。形式如:
主题资源也是一样的,只不过主题资源使用的是全局属性,用于有没有标题栏,窗口颜色背景等等,使用形式
Theme="@style/Theme.light”
闪屏的原因:由于oncreate和onresume执行完才显示布局,就是在这里的数据处理完成了,才能显示相应的布局。一般的,如果时间过长不能处理完数据,就显示黑色窗口,默认的颜色。所以,可以修改一下主题就可以避免这种闪屏的情况。
一般有这几种方法:第一种,修改主题,设置透明背景
第二种,修改当前主题中的属性,在属性中添加“android:windowIsTranslucent”
第三种,自定义主题,设置自己的背景图片。
以上方法都可以解决闪屏的问题,但是都只是简单的改变主题。最好,还是优化xml布局文件,还有数据处理,加线程去处理数据过大问题。