您的位置:首页 > 移动开发 > Android开发

写给同样在路上的Android小伙伴们

2016-08-04 11:31 190 查看
从大二下到现在,学习Android有一年半时间了,一直都是他人博客的搬运工,当然这里指的不是转载,而是在学习阶段有问题基本都是在各大博客间转悠,幸运的是大部分答案都能在其中找到,另外提一句,stackoverflow真心强大,很多奇葩的问题在上面可以得到解决。

大三上开始加入学院老师的团队,参加项目的开发,觉得自己有必要通过博客或者笔记,记录自己的学习历程,这是很好的沉淀也是美好的记忆,不过由于工作原因,大部分的积累都是以笔记形式保存在为知账号上,虽然有所积累,但是总觉得缺少与同行的互动会让知识过于保守,所以作为菜鸟,决定重新开始写博客,分享一些学习的心得,同时更希望能和各路大牛交流,欢迎大家的批评指点。

16年5月,笔者开始在一家移动互联网公司从事锁屏app的开发实习,锁屏或者桌面这类的应用对开发者底层知识的要求很高,跟很多公司从事的app开发不同,锁屏的开发不是为了单独实现某个逻辑的功能,而是在和系统打交道,不断找系统的漏洞或者打某些系统功能的擦边球,在Google不断提高Android的安全性(包括权限和漏洞围堵等等)的情况下,锁屏类应用的开发变得愈来愈难,很多功能都被限制,好在上有政策下有对策,真心佩服公司大牛的逻辑,有时候我想了好几天的逻辑和几千行代码,人家大牛只需要几行代码几句话。。。。

进入公司才发现,平时学到的用到的一些自认为很好的框架、工具之类的,公司大牛基本不用(前段时间写个控件引入几个包,大牛觉得这样会让app过于庞大,让我删掉一切可以删的,然后硬生生的从十几个包的引入删到了一个包,连自带的包都删了,什么support包通通删了,大小也从5.8M减到1.6M,说道这个我都佩服我自己了),给app瘦身真的是一项技术活,小伙伴们可以去试试,这其中酸爽,让你不敢相信。

大牛们更喜欢使用一些原生的东西,能自己写或用相似功能效率代替的绝对不去引别人的包,这让刚进公司的我有点懵逼,学习基础的时候大为赞叹的一些框架什么的基本都没用到,xUtils呢?(面试的时候技术HR表示没听说过),PullToRefresh呢?Gson ?Volley?好吧,我还是老老实实的回到HttpURLConnection和AsyncTask上面来

让我表示差异的是,公司一般很少是进来很火的框架技术的使用者,至少这需要花费他们很长的一段时间去接纳,比如最近很火的rxjava、retrofit等等,公司大牛在一段时间内不会把这些应用到项目中,大改项目为了追求一定的速度和效率而使用新框架,会造成稳定性上面的损失,很多时候这是不值得的,尤其是一些多年开发经验的开发者,他们绝不会用这些没看过源码的东西去替代已经稳定运行了好些年的辛辛苦苦写出来的代码。

进公司以来接触了一些很基础的东西,一开始觉得太简单了,不就是activity生命周期吗,不就是AIDL吗,不就是ndk的使用吗,大牛给我改了改需求,增加一些限制条件什么的,这时候真的体会到一个大写的懵逼,比如以前觉得service被杀了怎么重启之类的,我开始很直接的回答,service的onDestroy方法里发个广播,receiver里面收到重启不就好了,然而事实并非如此,到那个时候才知道原来以前理解的很多都是错的,系统强杀或者定制ROM的一键清理和第三方app能分分钟灭了你的service,连onDestroy都不执行就销声匿迹了。这app保活这个事情上花了很大功夫,有时间要好好整理下,没有成果也有收获和心得。

好吧,暂时就写这么多,有空再编辑吧
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android