Tag Archives: ActionScript

从互动广告到iOS开发

一年以前,我还在做各种Flash网站,而现在却是拥有一间小工作室的iOS独立开发者。从互动广告行业转型到移动互联网,也许也是正在阅读本文的你心中的一点小念头。即便你仍然打算奋斗在互动广告行业,对移动互联网带来的冲击也不可能置身事外。

移动互联网,正在真真切切的改变我们每一个人的生活,对你我正在从事的事业,都不能例外。那么,如何顺势而为,让我们能够在新的时代背景下游刃有余呢。

首先你应当成为移动互联网的应用达人:拥有一款移动设备,并成为重度用户。你得比你的客户或目标受众更加了解这种新的媒介。你要学会观察和分析这些移动设备产品设计背后的精髓,包括但不局限于:用户手持设备的使用习惯;屏幕尺寸限制对设计的影响;多点触摸的操作方式;单窗口应用和多任务的设计方法等。此外还有GPS定位,陀螺仪等特有硬件模块的玩法。

然后你还应当看看Apple的人机交互设计指南,了解那些细节到有些龟毛的设计建议背后的理念。这也保证你在发想创意的时候不至于偏差得太过离谱。

此刻你一定已经有了一个不错的想法(或者靠谱的Brief)。现在到了我们尽情发挥创意和设计才华的时刻。 流行如“下拉刷新”的操作可不是一开始就写在设计指南里的,而是由与我们一样的创作者想出来的绝妙创意。这绝对是重度用户才能发想出来的直觉式设计的最佳范例。还有Instapaper客户端的倾仰翻页,以及前段时间非常流行的Clear式轻扫和捏合操作,也都代表了交互设计的顶尖水平。 虽然在这个领域不乏一些专业的UI设计公司,还有各种互联网企业的UED正规军。但是在如何把移动应用设计得有爱或有范的问题上,我们互动这行的设计师也不甘示弱。我们看看私密照片分享应用Path 2.0中的创新折叠菜单。吸引了不少眼球吧。而我们拿它回过头来对比闪客们N年以前就已经实现的各种动态菜单,其效果不也显得黯然失色吗。用户在iOS应用上已经看了好几年标准界面的产物,难免开始产生审美疲劳。现在进入了重视用户体验的时代,互动从业者们在视觉表现和交互效果上的经验积累在此是一大优势。相比其他行业的转型者们,我们更容易创作出令人惊艳的作品。 Continue reading

总结2011

年终总结风潮已经过去,我赶了个晚。但好歹在春节来临之前把自己安定下来,好好回顾一下这一年。

在此之前,我又好好读了一遍自己写的2010总结。感叹是计划不如变化,但好歹今年没有浪费时间,还是做了一点事的。

上半年大部分时间还是在上海过着深居简出的日子,一边做些小活一边学习iOS开发。期间发了一些博文,把之前积累的一些AS经验都整理了出来。这种状态一直持续到回厦门之前。我在朋友介绍下接了一个上海车展用的急活。在高强度的十几天里把一个iOS项目做完,让我又回到刚毕业时候的打鸡血状态。这个项目的完成让我消除了对iOS开发的恐惧感,并且开始享受掌握另一种面向对象语言所带来的冲击和融合。还好因为去年深入研究AS打下的基础,让我产生了一些融汇贯通的美妙感受。所以接下来我慢慢的把更多的注意力投入到这个方面。回想去年订下的HTML5为主、Objective-C为辅的计划,不禁觉得好笑。事实刚好相反,一切还是以机缘为导向。我想HTML5更多的还是大公司或者牛人的玩具,而iOS开发正是很多人赖以吃饭的技术,至少短期内如此。

下半年除开接了一个Flash开发的项目花了两三个月工作时间,其余时间都泡在Xcode里面。iOS5发布了,新的api随之而来,还有WWDC的各种技术视频,Apple这个创新的公司一点也没让开发者们闲着。再有些空余时间我就继续关注Flash平台的各种口水战。我对Adobe的3D游戏导向的相关技术没太大兴趣,对webgl和canvas绘图的各种实验性作品仍然处于仰慕的阶段。我也很喜欢这些“玩具”,可惜暂时无缘吧。

最后两个月前终于把各个freelance项目都结束了,于是有心思开始折腾自己的东西。和朋友合作了一款天气类的创意app,经过了漫长的设计和开发过程,现在也提交了第一版。这算是给自己做产品的尝试开了一个头,明年还会继续再这上面投入精力。

一直想着要正式跨过freelance,向前迈前一步。终于在2012到来的第一天,把工作室的地儿给定下来。地址选在小资到爆的中山公园一带,与众多文艺青年为伍。名字么就叫Sumi(取我名字的谐音)。明年的基调就定好是在这里奋斗着奔三。我对工作室的想法是做互动,要做慢、做精。做得像厦门的乌糖沙茶面那么跩,就开半天,卖完了关门。在这里也邀请同道中人共襄盛举:),外地的还是本地都没有关系,我向往的是依托于网络协作平台建立的轻公司模式。

在自我管理上,今年丢了两个好习惯:一个是写晨间日记,一个是记账。都因为环境变动的原因没有坚持下来,在2012要重新恢复。5月份买了iPad以来,获取信息的方式有了很大的变化。现在基本上阅读新闻和RSS都会在iPad上,因此连去看FWA的时间都减少了。根据工作和兴趣不断调整工作方式一直是我长期笃信的原则。经过大半年的调整期,终于在新年前把新的学习系统建立起来。希望2012会是更有效率的一年。

噢,其实前面说了这么多事儿都是我今年的副产品。2011年最大的项目成果是11月16日老婆帮我生的一个胖女娃:名叫曹语荞。希望她能快乐健康的成长。

最后祝各位龙年大吉,龙腾虎跃,龙马精神!继续关注Kevin Cao和Sumi^_^

谈谈ActionScript垃圾回收(下)

前文我们介绍了GC的工作机制和帮助GC更好工作的最佳实践。其实只要我们遵守谁创建谁清理的原则来管理对象,就能基本上避免回收失败,也就是我们通常说的内存泄漏问题。但是在实际项目中我们还会看到各种原因引起的内存泄漏,接下来就让我们一起来找出病因。

首先我们需要观察症状,也就是内存的使用曲线。排查的方法是反复执行一些创建和删除对象的方法、反复加载和卸载子文件。如果内存曲线一路飙升、或者是居高不下,都表明发生了内存泄漏问题。观察内存占用可以直接求助于操作系统的资源管理器,也可以用Hi-ReS-Stats这个类。

第二个需要观察的地方,是Player输出的load和unload信息。加载和卸载外部文件,是内存泄漏问题的重灾区。在调试阶段,我一般会在主文件加一个执行System.gc()语句的按钮。一旦卸载了一个子文件,就手动触发若干次GC。如果没有输出子文件的卸载信息,那么就说明出现泄漏了。 Continue reading