Android 工做随记

 

  1. 不要在onLayoutChange中调用requestLayout,由于调了也没用数组

  2. Activity的进入动画的界面内容,在onCreate中经过setContentView设置缓存

  3. SurfaceView在透明模式下,若是没绘制过任何内容,会露出桌面。函数

  4. 使用ListView过程当中出现:在getView中返回了View,但ListView只显示View的内容而没有包含View。最后发现是因为onMeasure时屡次调用了getView,解决办法是重写onMeasure,不知道为何即便在xml中固定了ListView的宽高也没用。布局

  5. 使用skia库时,发现其中的编解码函数输入输出的数据格式都是RGBA。post

  6. 使用StateListDrawable时,发现state_pressed没有生效。最后发现是因为没有将View设置成可点击或给它添加点击监听。动画

  7. 重写onDraw(Canvas)时,参数Canvas包含着View底下的内容(但不包括SurfaceView)。线程

  8. 能够在自定义线程中建立布局,甚至对里面的控件进行操做,可是一但将布局加到Activity后,就只能由主线程去操做布局。若是强行操做,会报出异常。这个异常能够被捕获,但这会出现一些很古怪的状况。xml

  9. Canvas的rotate方式是将图片顺时针旋转,Matrix的setxxx会清空以前的变换,只保留当前的变换,prexxx会把变换放到队列的前面,postxxx会把变换放到队列的后面。队列

  10. 绘制圆时若是出现锯齿,应该使用Paint的setAntiAlias。旋转图片形成的锯齿,应该使用setFilterBitmap。图片

  11. jpeg的exif信息中的角度:图像要顺时针这个角度,才是正的

  12. OpenGLES中向量是列矩阵,当矩阵由一维数组表示时,按列进行填充。一个列向量中没有赋值的元素默认值为0

  13. ByteArrayOutputStream遇到储存不够时,会申请一个2倍于已存储内容加将要储存内容的空间。

  14. 不要使用runOnUiThread,由于你无法直接取消此次操做,用Handler代替,但要注意在退出时清空消息,处理消息加状态判断。

  15. 解决丢log的问题,Android默认的log缓存是4M,能够经过logcat -g查看,使用命令logcat -G 10M加大log缓存能够解决丢log的问题

相关文章
相关标签/搜索