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。

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

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

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

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

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

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

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

  13. OpenGLES的glTexImage2D从左下角开始填充数据,而且宽必须是4的整数倍

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

  15. 不要使用runOnUiThread,因为你没法直接取消这次操作,用Handler代替,但要注意在退出时清空消息,处理消息加状态判断。

  16. 解决丢log的问题,Android默认的log缓存是4M,可以通过logcat -g查看,使用命令logcat -G 10M加大log缓存可以解决丢log的问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值