4年安卓开发总结

来源:互联网 发布:电影片头制作软件 编辑:程序博客网 时间:2024/06/01 10:21

马上就要转行了,想把这几天的开发经验总结一下。除了游戏APP没做过,其他方面的APP都折腾过。每次面试都会问别人两个问题,谈谈你最近做过的项目和讲一下你印象最深刻的开发问题(如果回答就继续问他是如果解决的)。说实话这也是反过来问我自己这些年折腾了啥?我觉得这得从两方面说起,首选应该是技术。最令我印象深刻的问题就是安卓的兼容,没错就是兼容。我认为所有安卓程序员不是在解决兼容的路上就是正在准备解决兼容问题。我把兼容分四种

  • 分辨率兼容
  • 安卓版本兼容
  • 手机品牌兼容
  • 客户端历史版本兼容

分辨率兼容

这个兼容问题算是最容易解决的,刚开始大家都习惯写死控件的长宽。出现问题后再改成权重(百分比)或自适应,但是这么写还是在特殊情况下会继续出问题。比如UI设计的只有展示一行内容时才美观,但是在小分辨率手机上会自动分成多行,这时看起来非常难看。这时设计师来找你,你肯定不会承认问题,设计师心情好让你改,你想了半天才想到用一个maxlines解决了问题。我认为对于这些问题不管是开发还是UI都有错,针对这个问题有以下解决方案(站在开发角度)

  1. 尽早制定最小兼容分辨率和最大分辨率给UI和产品及测试
  2. 评估UI效果图时要尽快想到内容过长,过短时该如果展示,把这些问题给产品和UI并给出建议
  3. 开发中能不用绝对大小就不用,尽量采用权重或自适应,另外记得使用max min参数约束控件展示范围

安卓版本兼容

这个兼容问题也是比较容易解决的,竟然出现的有setAlpha setBackground 毛玻璃 通知栏等问题,这些问题导致的问题都是崩溃,其实还是很严重的。解决该问题有以下措施

  1. 尽早制定APP最小兼容的安卓版本
  2. 对于一定要兼容的版本,可以考虑写一个公用的函数进行版本判断,然后让大家统一调用
  3. 想办法搞一些低版本的安卓手机(我从闲鱼上买了好几部),在上线之前让测试进行一个兼容测试

手机品牌兼容

对于这个问题,我的意见是放弃吧(如果你可以转行的话)。安卓的碎片化实在太严重,对版本的兼容性还可以忍,但是对于品牌的兼容实在难以忍受。不过抱怨归抱怨,拿别人工资就得干活。这个问题主要集中在各大手机厂商的ROM差异性导致的,比如通知栏,菜单键,软键盘(可隐藏),拍照等导致功能异常。还有一个必须得说的问题就是推送功能,部分手机经常在后台收不到推送消息。经过查询是由于权限和情景模式导致的,比如部分手机在锁屏后只有加入白名单的手机才允许运行。不要跟QQ和微信比,厂商在出厂的时候已经自动加入了白名单。还有一个不得不说的问题就是某些山寨安卓系统(不是山寨机),自称是自主研发的手机操作系统可以兼容安卓APP,但实际情况却需要开发者自己解决。解决该问题有以下措施

  1. 上线前拿几台主流品牌手机进行测试做到最大兼容性
  2. 可以在APP中做一个Faq功能引导用户自己把APP加入白名单

客户端历史版本兼容

其实这个问题客户端很难处理,但是如果你愿意的话还是可以避免的。如后台做接口修改时或者产品做功能迭代时,这时候作为客户端开发要站出来把问题说给后台人员,他们会作接口兼容,你只需要配合测试即可。

0 0