http:///content/
最近做的App,启动的时候非常慢,点击了桌面的App图标,等了5~6秒才看见Logo界面,检查代码:
以为问题出现在以下几点:
1,LogoActivity 处理的 事情太多了.,比如同步服务器的数据下来导入本地数据库中,初始化字体风格;
2,继承的Application 类中,初始化了
a:(this);//百度地图
b:(false);(this);//极光推送
3,自动登录,重连服务器方法reLogin();
4,不同手机
在1,2,3点中都设置了开始处理的时间和处理结束的时间,出来的时间都是正常的,0-1秒之间,但是从点击桌面图标到进入主界面花费了 8 秒左右,当然在LogoActivity 界面设置了延迟3秒,除去了3秒,剩下的5秒哪儿去了呢,花费的时间就是点击桌面图标到LogoActivity 的onCreate()方法之间的时间.
测试了其他的手机,情况依然如此,烦之又烦 啊.
问题解决:
描述:之前设置android:windowIsTranslucent 主题是为了处理启动App看见的黑屏,确实是可以处理的
<style name="LogoTheme" parent="android:style/">
<item name="android:windowBackground">@android:color/transparent</item>//背景是透明的
<item name="android:windowIsTranslucent">true</item>//这里设置了半透明
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
</style>
后来去掉android:windowIsTranslucent之后,主题变为
<style name="LogoTheme" parent="android:">
<item name="android:windowBackground">@drawable/logo</item>//背景是张logo图片,这种方式比较好
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
</style>
该主题是使用于 Android工程文件夹下的文件->
<!-- LOGO界面 -->
<activity
android:name=""
android:screenOrientation="portrait"
android:theme="@style/LogoTheme">//这里设置主题
<intent-filter>
<action android:name="" />
<category android:name="" />
<category android:name="" />
</intent-filter>
</activity>
去掉了android:windowIsTranslucent这个之后在点击桌面图标.0~1秒就看见了Logo界面.
工作中的点点滴滴,记录下来,可能也有其他的原因,但是至少去掉android:windowIsTranslucent之后启动比之前快多了,
如有哪位大神还有更好的解决方法,可以提出,谢谢!