3月6日
新的笔记本到了,32GB内存跑项目和虚拟机真的太舒服了,后面几天开始如果不好好学习测试的话,那实在是太对不起新机器了 (逃)
今天上午起床整个人都不太舒服,硬撑着上完了早八,回来就睡觉了。下午简单的修改了一下webResource的Demo,没多久新机器就到了,兴冲冲的去1314找宝莱他们开箱验机,然后就是花费大量时间的数据迁移还有配置环境...
晚上快结束的时候简单的试了一下build&run之前的CreamWallpaper项目,发现用nexus5跑也会cursh,终于意识到应该是我自己代码的问题。简单思考了一下,发现还是在获取屏幕宽(dp)之后的处理上出了问题,导致让column出现0的情况。和教练交流后了解到在UI相关计算方面还是要多使用roundToInt来着。
一是浮点数转整型,除了普通的
toInt
,还有roundToInt
。然后还有两个需要传参的顶级函数,一个是ceil
一个是floor
。前者向上取整,后者向下取整然后第二个就是你可以限定你要的整型在哪个区间里面,
coerceIn(min,max)
;或者单独限制上下限coerceAtLeast(min)
/coerceAtMost(max)
。不过没记错coerce
系列函数浮点数也能用来着
话说怎么突然提到这个
因为你说的这个错误就可以用这些函数规避掉a
还有
roundToInt
这个其实听说过,但是因为用的少+平时感觉自己不太注意细节,习惯上直接用
toint
了(
比如你的
spancount
,我希望它最小2最大5,那在上面那个用法里面你就肯定不会出现设置个spancount
为0的情况。我的意思就是,很多ui上面需要计算乘除法的时候,优先考虑用roundToInt
,然后结合后面我说的那些coerce
系列函数来限定范围
虽然说有开心,但是更多的还是摸鱼。值得庆幸的是,知道了一个之前自己一直没怎么注意到的点。明天起来再好好研究一下这个东东~
应该是在360f/400f运算完结果后再把2转换2f来着吧
可以decompile看看是编译期就做了还是jit做的
教练:你还有很多工作没做哦(阿米娅音)
在做了在做了 (失去理智.jpg)