LuckyHu Blog

首页 产品 工作室

最近的一点心得和困惑

08 Jan 2013

先说说最近解决的几个问题:

1.UIView在frame不为整数时,模糊 关于苹果这个设计让我很奇怪,CGRect的值是float类型的,但当frame的值不为整数的时候(我发现尤其是.5的时候),会让你的view看上去很奇怪,一种情况是view的内容看上去很模糊,一种情况是你的view外面会出现一个奇怪的边框。

2.Tcp长连接的返回值问题 关于c语言select函数的使用,可以看这里 http://blog.csdn.net/piaojun_pj/article/details/5991968 我在实际使用中,经测试发现,使用c语言的select时 当select的返回值小于0时,表示没有数据。 当select的返回值大于0时,表示有响应。这又分为几种情况: 1).如果时服务器在没有发送任何数据的时候就断开了连接。那么你从socket中读到的数据长度为0,errno为3. 2).如果是由于网络断开了,那么从socket读到的字节长度为-1,errno=60.这里,对于无论是本地wifi断开还是中间某一个路由器或节点断开,都是这种情况。区别是,如果是本地wifi断开,返回失败很快。但如果是后者,则这里返回得到网络断开的时间不定。 3).当nread=-1,errno=4的时候,可能是系统的中断信号,这是正常情况,不做处理。

3.关于如何压缩图片的比较 在应用中压缩图片时,我想到两种策略,都才用coco的UIImageJPEGRepresentation(UIImage image,float qua)。: 1.直接压缩为JPG,质量因素的值为图片的大小值和这个图片将要被显示的大小的比. 2.先把图片采用coco的CGContentDrawImage把图片缩小为将要被显示的大小,再采用0.8的固定质量因素(几经对比发现的比较好的值). 实际情况是,第二种方法是比较好的,不仅压缩出来的JPG图片会小很多(大约是前者的1/4),再从这个压缩后的JPG文件还原出来的图像也清晰得多。

以上3点都是最近在开发过程中遇到的几个实际问题,我都通过实验的方式找到了问题所在和最终的解决方案,但是在每一个问题中,我总感觉自己都是点到为止,都没有能够进一步搞明白这些问题更深层次的原因,也不是我不想,有些我不知道继续深入下去是否值得,应该如何深入,走到哪一步可以适可而止,有些是我根本没有这反面的知识,完全不知道怎么走。我并没有那么大的兴趣进行得十分深入,但是我又对于停留在这个阶段感觉非常不爽,因为其实我不知道为什么,我只知道怎么样。到底是刨根问底还是不求甚解,对于这一点,我很迷茫..我相信这也许是很多非标准程序员甚至标准程序员都比较迷茫的事情。