一 概述
来到新公司的第一个项目已经结束。虽然是项目中期进入的(大概进度60%),收获还是不小的,下面就分享下。
二 技术心得
1.第一次做ipad的应用,和iphone的区别还有不少的。
1> ipad程序都会要求支持屏幕旋转适配,这样代码就多出了不少,具体实现方式可以参考我以前写的屏幕旋转实现的文章(下面提到的一些重要技术点,应该都会在博客中找到)。
2> 屏幕尺寸,按照像素来说,切1024*768和2048*1536就可以,ipadmini像素也是1024*768.图片名称要命名为xxx~ipad.xxx和xxx@2x~ipad.xxx的方式,像素自动适配。
2.版本是适配。
现在ios版本已经到6.1了,所以在开发时,有不少系统api不同版本支持不一样(悲剧,苹果怎么搞的)这个虽然不麻烦,但是很恼火,有些没有明确指出的,需要自己测试发现。还有,如果支持6.0就不能支持4.3一下版本了。测试时,应该重点测试4.3,5.0,6.0这些标志性版本。
3.内存警告处理
以前没有认真做过内存警告的处理,只处理一些容易出问题的VC。这次每个VC都做了处理。首先,ios6.0版本的内存警告调用函数由调用
didReceiveMemoryWarning和viewDidUnload变为只调用前者了。所以这个地方需要自己适配。基本就是在viewDidUnload中写实际的处理代码,在didReceiveMemoryWarning中做判断版本信息调用viewDidUnload处理。处理的策略就是当前页面的资源不释放,其他无用的界面全部释放。
4.内存分析
instruments的leaks分析内存还比较有用。
5.测试
可以基于instruments写个monkey测试脚本,下班后跑跑。
三 项目心得
1.进度
项目为什么都是前松后紧,这种很不爽,自己公司的项目还好控制些,如果是客户,而且与客户协同开发,有制约就不好弄了。期待万能的项目经理解决这个问题。
2.沟通
客户提供UI设计,服务器开发,产品方案,我们做客户端,这样就要不同沟通接口啊,UI设计,交互细节啊。IM或者QQ沟通之外一定还要有面对面的沟通,每周和客户一个列会啊,这样。平时也可以多打打电话,总比IM来的快。当然,涉及到需求变更,需求增加这样的东西一定要用发邮件,以备有据可查。
3.协同
对于UI,后台接口这些一定要给客户的项目经理压力,让他去督促事件的按时达成。
OK,就这么多,希望对大家有帮助。