2019独角兽企业重金招聘Python工程师标准>>>
-
不要在onLayoutChange中调用requestLayout,因为调了也没用
-
Activity的进入动画的界面内容,在onCreate中通过setContentView设置
-
SurfaceView在透明模式下,如果没绘制过任何内容,会露出桌面。
-
使用ListView过程中出现:在getView中返回了View,但ListView只显示View的内容而没有包含View。最后发现是由于onMeasure时多次调用了getView,解决办法是重写onMeasure,不知道为什么即使在xml中固定了ListView的宽高也没用。
-
使用skia库时,发现其中的编解码函数输入输出的数据格式都是RGBA。
-
使用StateListDrawable时,发现state_pressed没有生效。最后发现是由于没有将View设置成可点击或给它添加点击监听。
-
重写onDraw(Canvas)时,参数Canvas包含着View底下的内容(但不包括SurfaceView)。
-
可以在自定义线程中创建布局,甚至对里面的控件进行操作,但是一但将布局加到Activity后,就只能由主线程去操作布局。如果强行操作,会报出异常。这个异常可以被捕获,但这会出现一些很古怪的情况。
-
Canvas的rotate方式是将图片顺时针旋转,Matrix的setxxx会清空之前的变换,只保留当前的变换,prexxx会把变换放到队列的前面,postxxx会把变换放到队列的后面。
-
绘制圆时如果出现锯齿,应该使用Paint的setAntiAlias。旋转图片造成的锯齿,应该使用setFilterBitmap。
-
jpeg的exif信息中的角度:图像要顺时针这个角度,才是正的
-
OpenGLES中向量是列矩阵,当矩阵由一维数组表示时,按列进行填充。一个列向量中没有赋值的元素默认值为0
-
ByteArrayOutputStream遇到储存不够时,会申请一个2倍于已存储内容加将要储存内容的空间。
-
不要使用runOnUiThread,因为你没法直接取消这次操作,用Handler代替,但要注意在退出时清空消息,处理消息加状态判断。
-
解决丢log的问题,Android默认的log缓存是4M,可以通过logcat -g查看,使用命令logcat -G 10M加大log缓存可以解决丢log的问题