1.Library中的R中的资源不是final类型的,这样导致library中不能使用case语句
public final class R {
public static final class anim {
public static int abc_fade_in=0x7f040000;
public static int abc_fade_out=0x7f040001;
public static int abc_grow_fade_in_from_bottom=0x7f040002;
public static int abc_popup_enter=0x7f040003;
......
2.在Activity的onCreate方法里面显示PopupWindow异常
Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
原因:
3.Typeface初始化自定义字体慢,需要异步初始化
4.透明主题导致的问题
(1)Activity不会调用onStop方法,所以不要在此方法中进行操作。
(2)按Home按键时,会存在界面刷不干净的情况
如何设置透明主题
<style name="TransLucent" parent="AppTheme">
<!-- Customize your theme here. -->
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>
</style>
5.程序在未启动的情况下,静态注册的广播无法收到消息
解决办法:
从Android 3.1开始,系统给Intent定义了两个新的Flag,分别为FLAGINCLUDESTOPPEDPACKAGES(表示包含未启动的App)和FLAGEXCLUDESTOPPEDPACKAGES(表示不包含未启动的App),用来控制Intent是否要对处于停止状态的App起作用。
6.过度绘制问题
什么是过度绘制:在某个区域进行了多次绘制。
如何检查过度绘制:
选择显示过度绘制区域,然后界面变成下面样子
绘制颜色的标识,从好到差:蓝色(1x次绘制)-》浅绿色(2x绘制)-》淡红色(3x绘制)-》红色(4x绘制)。
一般情况下,最好把绘制控制在2次以下,3次绘制有时候是不能避免的,尽量避免,4次的绘制基本上是不允许的。