1.Canvas.clipPath :java.lang.UnsupportedOperationException
Bug原因:
出现原因是4.0硬件加速出的问题
解决方案:
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB)
{
myCusomView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
2. Android 2.x上 Listview selector铺满背景问题
Bug原因:
Android < 3.0 bug 如果list selector中使用@color(即ColorDrawable)就会导致该问题
解决方案:
使用其他Drawable替代,例如ShapeDrawable
3. ListView ExpandableListView分割线消失问题
Bug原因:
ListView分割线设置方法setDivider、setDividerHeight调用顺序问题,在setDivider之前调用setDividerHeight是无效,因为setDivider方法会将dividerHeight重置为0(想见ListView.setDivider方法)
解决方案:
在setDivider之后调用setDividerHeight
4. Android Toast不显示问题
Bug原因:
常见原因分两类:1.使用正确但应用系统设置中“显示通知”被取消 2.Toast使用错误(如非UI线程使用Toast、Context错误、遗漏.show()调用等)
解决方案:
第一种情况去应用设置里面将“显示通知”(通常在强制停止下面)勾选上
第二种情况修正用法即可
5. 复用StringBuilder忘了清空易引发OOM
Bug原因:
复用StringBuilder未清空之前的内容导致OOM(尤其是在循环中)
解决方案:
复用StringBuilder之前一定要清空内容
6. View getHitRect出错
Bug原因:
系统bug,在view做完动画后,getHintRect返回可能出错(http://stackoverflow.com/questions/17750116/strange-view-gethitrect-behaviour)
解决方案:
Rect outRect = new Rect();
int[] location = new int[2];
mSeekBar.getDrawingRect(outRect);
mSeekBar.getLocationOnScreen(location);
outRect.offset(location[0], location[1]);
int[] location = new int[2];
mSeekBar.getDrawingRect(outRect);
mSeekBar.getLocationOnScreen(location);
outRect.offset(location[0], location[1]);