开发中遇到的问题记录

1.使用jni开发时需注意:armeabi,armeabi-v7a两个目录可能存在冲突,即程序如果读取了v7a目录,那么就不会再读取armeabi目录,可能会导致so文件无法加载的情况。
2.自定义View时务必重写onMeasure方法,仅添加LayoutParams可能导致View在被添加到ScrollView上时不可见(待验证)。
3.在华为手机上,两个linear layout嵌套,可能导致里面的list view(也可能是其他的view)刷新出错,具体表现为notifydatasetchanged之后,原有的数据依然显示在屏幕上。
4.使用fragmentPagerAdapter时,当重置page的fragment(是重新新建的Fragment)时,会出现原有fragment继续存在的问题。
5, 自定义View时,onMeasure方法接收到的参数里面的MeasureSpec.Mode由自定义View的LayoutParams和父View的MeasureSpec .Mode共同决定。
6,Paint.setAntiAlias(true)会使得在绘制1px宽度的线时,看起来宽一点。

  1. 当XAMPP中mysql无法启动时可尝试使用以下命令启动: sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start
    8.ViewPager为了实现左右各显示一部分前后界面时,可以把clipChildren属性设置为false。
    9.getLocalVisibleRect , 返回一个填充的Rect对象, 感觉是这个View的Rect大小,left,top取到的都是0
    getGlobalVisibleRect , 获取全局坐标系的一个视图区域, 返回一个填充的Rect对象;该Rect是基于总整个屏幕的
    getLocationOnScreen ,计算该视图在全局坐标系中的x,y值,(注意这个值是要从屏幕顶端算起,也就是索包括了通知栏的高度)//获取在当前屏幕内的绝对坐标
    getLocationInWindow ,计算该视图在它所在的widnow的坐标x,y值,//获取在整个窗口内的绝对坐标 (不是很理解= =、)
    上述方法用于获取view在屏幕上的位置,可以用于当自定义View过大时,onDraw方法只绘制可见区域,以提高性能。
    10.dexknife 注意事项:尽量不要在Application中添加代码,移到另外一个类中,间接引用不容易出错。不要将在Application中使用到的类,分到第二个dex中。
    11.自定义View时,关闭硬件加速,在设置view的setLayerType的类型为View.LAYER_TYPE_SOFT之后,会导致View一直循环调用ondraw,效率很低。

你可能感兴趣的:(开发中遇到的问题记录)