给应用开发者编程的十一条个建议

codeGoogler / 文 发表于2017-12-03 17:33 次阅读 经验,android开发者建议

随着移动平台的发展和其应用的不断改善,质量成为决定成败的关键。用户的要求也越来越高 。作为程序开发者,在当下时代的我们是非常荣幸的,因为有很多的参考资料和便利的开发工具方便我们去使用。但是同样也意味着我们有很大的挑战。如何保质保量的去有效率的开发,是没有一个程序开发者所追求的。

以下是对应用开发者的10条建议,以便能帮助大家更有效的去编程,做一个高效率的码农!

1)塑造一个良好的编码风范

  一个优秀的开发者应该善于运用常识、完善的算法和标准设计模式。比如Java特点是面向对象的, 就意味着我们可以对其封装,和简化。做一个功能,就要把它当成人体一样,手和脚能够在同一时间内做不同的任务,相互之间不受影响,同时又收到到大脑中枢神经的控制。其次是要有资源释放意识,打开了cursor就要记得关闭,尽量做到晚获取,早释放。
  

2)让阻塞操作远离主UI线程

1、Handler+Thread

2、AsyncTask

3、用服务的时候要用IntentService和自定义后台服务。

因为这些自带的异步处理的组件能帮你省了很大额内存开销。当有其他程序运行时,不会让你的应用滞后或中止。

  

3)要学会使用最新的Android SDK版本和API

使用Android和Java的最新sdk可以更快的与时代同步。毕竟新出来的API是较为稳定的,这样一来可,拥有新的API可以更快的对问题进行解决和bug 的修复。新API有助于开发者编写出更稳定的应用。要明白最佳的做法总是随着时间的推移而变,聪明的开发者应该总是站在整个平台的最前沿。

4)学会异常的捕获(UncaughtExceptionHandler)

 Android系统碎片化造成应用程序崩溃严重,在模拟器上运行良好的程序安装到某款手机上说不定就会出现崩溃的现象。而且,往往都是程序发布之后在用户端出现了崩溃现象。所以,如何及时捕获并收集Android平台的崩溃就显得愈发重要   这个时候如果之前我们使用了异常捕捉机制,就方面多了。

注意:

在Android应用程序中

全局的Application和Activity、Service都同属于UI主线程,线程名称默认为“main”。

所以,在Application中应该为UI主线程添加UncaughtExceptionHandler

这样整个程序中的Activity、Service中出现的UncaughtException事件都可以被处理。  

5)尽量少使用第三方框架

很多人过多的依赖于第三方框架,导致最基础的东西都忘记了,记得网上有这样一个搞笑图片:不要给我说什么底层原理,框架内核,老夫敲代码就是一把梭! 难道我们都受这样的影响!聪明的程序员大部分都是自己写框架,牢固基础!

6)确保UI布局简单优雅

  简单的屏幕展示不仅方便阅读,还能加快加载速度。与其在一个单一屏幕上堆砌太多不必要的功能,不如花时间去开发优雅的用户界面。简单优雅的UI不仅能提高应用性能,还能提高用户使用该应用时的效率。

7)根据目标设备调整应用资源

  为尽可能高效地加载,需要根据具体设备的配置调整相应资源,尤其是图片资源。为使应用包文件合理适用不同设备,首先可只添加运行该应用需要的核心资源,然后再根据具体设备下载相关内容。

8)进行布局优化

1、使用HierarchyViewerUI性能分析工具,分析布局文件的性能,层级嵌套,UI布局复杂程度及冗余分析,View嵌套的冗余层级,View的性能指标:测量、布局、绘制的渲染时间。

2、Layoutopt是一款简单的命令行工具,可帮助找到不必要的控件嵌套以及缩减布局资源,从而使应用变得可能“苗条”。控件越少、布局层次越浅,性能就越好。

9)要学会用工具进行分析

1、 使用Traceview性能分析工具分析

2、 如果使用eclipse的话可以选择MAT工具

3、 第三方更智能的性能分析工具BlockCannery一个强大的Android程序调试工具,轻松帮你找出卡顿

4、 使用强大的AndroidStudio调试工具——Stetho

5、学会DDMS

6、 使用Hierachy Viewer可视化调试工具

7、 Hierachy Viewer能很方便地在开发者设计,调试和调整界面时,快速定位问题,解决问题,提高开发效率。

> 推荐博客(http://blog.csdn.net/axi295309066/article/details/52733222)

Android SDK自带了很多用于应用分析的工具,其中最受欢迎的是Traceview,这款图形工具可以帮助调试和找到应用中的性能瓶颈。

10)不要贪多,先把自己的饭碗的学精

无论你是做java方面的也好,做移动端的也好,且不能见什么就学习什么。反正我就是这样的,如果学习另外一门语言,已经掌握7分度了。就算我们的android有些东西半年不用也会有所忘记的吧!每个人都有健忘性,也可能是我上了年纪了吧!我想作为常人的你门也是如此吧!

毕竟没有哪一门是最吃香的,毕竟没有哪一门是最差的。要记住Android 开发者高薪多的去了,相信你就是下一个他!

11)为什么一定要注重Java基础?

对于一个学习Android和Java的开发者来说,Java基础十分的重要。为什么这么说呢?

可能大多数人都忽略了这个问题。群里有位兄弟问我:为什么我工作三四年了,面试大公司老被虐,尤其是BAT这样的大公司,有时候最基本的问题都回答的不好! 他说一个在某金融公司的面试题,用Node结点来模仿列表进行增删改查。于是他琢磨了半天写的是一塌糊涂。

看到这样的情况,我竟有点吃惊!这不就是最简单的自定义单链表吗?于是我狠狠地‘批评’了他,编程的时候不要只用第三方的,对你来说也许最简单的往往也是最最重要的,要注重Java方面的基础!

是的,有些人确实已经做了三年多的开发,进大公司总是非常困难,其实原因可想而知。这就是为什么别人能够写一些开源框架而你不能!

结语

作为新时代的码农,静下心来,循序渐进。程序员,你一屋不扫何以扫天下?这里我提出了自己的一些见解,如果有那些地方说的不到位,还望大家交流指正。 最后祝愿大家在这条道路上走的更高,更远!

关于更多:

上半年技术文章集合—184篇文章分类汇总

NDK项目实战—高仿360手机助手之卸载监听

最新2017(Android)面试题级答案(精选版)

“你还有什么事想问”——如何回答面试官的问题

Android 图片选择到裁剪之步步深坑

相信自己,没有做不到的,只有想不到的

如果你觉得此文对您有所帮助, 欢迎加入微信公众号:终端研发部

技术+职场

收藏 赞 (0) 踩 (0)