美文网首页
月笔记(2017-10)

月笔记(2017-10)

作者: 寒冬_腊月 | 来源:发表于2017-10-28 17:44 被阅读31次

这个月工作的需求比较少,主要就是做了一个蒙版的需求,但是后面由于各种问题,还是没有上线.5555.不过通过做这个需求发现自己对自定义View这一块的知识还是很匮乏,所以自己也在空闲的时候研究一下,言归正传,还是总结一下这个月学到的知识点.

判断接口返回的string是不是为json

Object json = new JSONTokener(data).nextValue();
if (json instanceof JSONObject){
  //JSONObject
}
else if (json instanceof JSONArray){
//JSONArray
}

解决Android Studio 查看api文档会很慢,一直显示Fetching Documentation....的问题.stackoverflow

  • 打开jdk.table.xml,我的是在这个路径
    /$USER_HOME$/.AndroidStudio2.3/config/options/jdk.table.xml
  • 替换文本
    替换所有的
http://developer.android.com/reference/

file://$USER_HOME$/android-sdk/docs/reference/

从dimen 获取dp转为px方法, cdsn

这里我总结了一下有四种方法
如果dimen.xml有如下申明

<dimen name="avatar_bg_width">95dp</dimen>
getResources().getDimension(R.dimen.avatar_bg_width));//返回类型为float,带精度
getResources().getDimensionPixelOffset(R.dimen.avatar_bg_width));//返回类型为int,由浮点型转成整型时,原则是忽略小数点部分
getResources().getDimensionPixelSize(R.dimen.avatar_bg_width));//返回类型为int,由浮点型转成整型时,采用四舍五入原则
TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,95,getResources().getDisplayMetrics()))//带精度,可以直接传给定的dp

输出:

142.5
142
143
142.5

AndroidManifest 中的host尽量使用小写

性能建议

尽可能的减少onDraw被调用的次数,大多数时候导致onDraw都是因为调用了invalidate().因此请尽量减少调用invaildate()的次数。如果可能的话,尽量调用含有4个参数的invalidate()方法而不是没有参数的invalidate()。没有参数的invalidate会强制重绘整个view。

另外一个非常耗时的操作是请求layout。任何时候执行requestLayout(),会使得Android UI系统去遍历整个View的层级来计算出每一个view的大小。如果找到有冲突的值,它会需要重新计算好几次。另外需要尽量保持View的层级是扁平化的,这样对提高效率很有帮助

自定义ViewGroup onDraw执行的条件

布局中设置背景 android:setbackground或者
初始化的时候调用 setWillNotDraw(false)

Android Emulator下载保存的路径

system image for the emulator:
$android-sdk$/system-images/android-26/google_apis/x86/x86

onMeasure执行次数的问题

当自定义一个ViewGroup 的时候 记录一下发现的几个问题

  • 在有的模拟器(Emulator Galaxy_nexus_api_21)上会执行3次,在真机上会执行2次
  • 如果添加了子类的话,执行次数又会变

报空指针但是调用的对象不为空的问题

项目中调用了okhttp的一段代码

HttpUrl.parse(requestUrl.toString()).newBuilder();

当requestUrl的地址不合法的时候,如:wap-gearbest.com..s1.egomsl.com.这里就会报空指针

相关文章

  • 月笔记(2017-10)

    这个月工作的需求比较少,主要就是做了一个蒙版的需求,但是后面由于各种问题,还是没有上线.5555.不过通过做这个需...

  • 2017-10月27日

    孩子:姐姐,某人:哎,乖喊好姐姐。孩子:好姐姐,今天可以给我肉吃吗?某人:哈哈哈……看表现。孩子:大妈…………额,...

  • 2017-10月9日

    Life isn’t always beautiful, but the struggles make you s...

  • linux 安装服务

    Tomcat: https://www.linuxidc.com/Linux/2017-10/147773.htm...

  • 在ubuntu16.04上fileinfo和imagick的ph

    http://www.linuxidc.com/Linux/2017-10/147873.htm http://w...

  • 2017-10

    2017-10-1(周日)晴天,雨;文化公园 自由行是一种心态 五点半起床。六点出门去文化公园锻炼。 龙柏小公园照...

  • 2017-10

  • 2017-10

    2017-09-30

  • readme——写在前面

    java学习时间:2017-10~2018-03 半年时间,现在2018-07-25 工作四个月,发现自己忘记的太...

  • 2017-10月计划【总结】

    更新于2017-11-08【总结】 1:列出双十一剁手清单。 2:看完《黑客与画家》、《你不知道的Javascri...

网友评论

      本文标题:月笔记(2017-10)

      本文链接:https://www.haomeiwen.com/subject/bpyspxtx.html