android技术中,线程、进程、JNI、IPC和各个小框架结构是基本功。在跟随高焕堂老师的android程序猿到架构师之路系列视频中 学习完基础篇之后,颇有些心得,记录下来。

android开发就是app开发吗?曾听过很多人说android学习很简单,做个app轻松就上手了。我一直觉得不以为然,许多程序员做app开发时,心中大致只有四大组件、各种布局、数据库和一些常用控件。对于各小框架、线程间通信、绑定服务、java与c的对接等基本原理并不清楚,也没必要弄清楚。

最近学校搞了一个实训,要求做一个拼图游戏。面对一些特别的需求,出现一些奇特的bug,另一个同样学android 但是重心放在实现而非原理上的小伙伴觉得压力挺大。在我看来假如他学习过view框架的一些细节,像onDraw() invalidate()、onMeasure()函数这些,就很容易解决了。所以我认为,学习一项技术最好还是要懂原理,成体系零散的知识点看起来很诱人,能在很快时间内做出炫酷的效果。想着反正实现功能就好了嘛,何必纠结那么多。 这样的心态要不得,越零散越容易忘,越要重新学。所谓磨刀不误砍材工,系统的去学、有自己的见解、将知识融会贯通自成一套体系,长期坚持必然能拥有不凡的基本功,也拥有举一反三的能力。就技术而言,我个人觉得还是得挑难学的技术学,因为难所以核心,因为难所以有门槛。只要你坚持住了,将大大提高自己的核心竞争力。一句话总结,学东西重基础、成体系、能攻关,比所谓为了开发效率速成的技术来得有价值。

android开发不仅仅是app开发,整个android体系庞大繁复,其中蕴含了许多匠师精巧的设计,在学习androi的同时多去关注android的设计理念,看看框架的实现思路甚至读读源代码,这对程序员的自身修养和实力都大有进益。

最后,希望自己在架构师的路上不断前行,原各位同道在搞技术的同时多多思考。

android基础篇学习心得的更多相关文章

  1. 深入理解gradle编译-Android基础篇

    深入理解gradle编译-Android基础篇 导读 Gradle基于Groovy的特定领域语言(DSL)编写的一种自动化建构工具,Groovy作为一种高级语言由Java代码实现,本文将对Gradle ...

  2. Linux随笔-鸟哥Linux基础篇学习总结(全)

    Linux随笔-鸟哥Linux基础篇学习总结(全) 修改Linux系统语系:LANG-en_US,如果我们想让系统默认的语系变成英文的话我们可以修改系统配置文件:/etc/sysconfig/i18n ...

  3. 2-STM32+W5500+GPRS物联网开发基础篇-基础篇学习的内容

    https://www.cnblogs.com/yangfengwu/p/10936553.html 这次的基础篇为公开篇,将公开所有基础篇的资料和源码 现在说一下基础篇准备公开的内容:(大部分哈,要 ...

  4. 【转】android的startActivityForResult学习心得

    http://blog.csdn.net/yanzi1225627/article/details/7800529 从昨晚到现在终于调试通了一个startActivityForResult的例子,网上 ...

  5. Python基础篇学习感悟:学如不及,犹恐失之

    从2019年3月底开始学习Python,4月12日在CSDN发表第一篇博文,时至今日已有4个月零12天. 4个多月的学习,老猿从一个Python小白成长到今天,可以说对Python这门语言已经略知一二 ...

  6. Android基础知识学习

    IPC  (Inter-Process Communication) 意思是: 进程间的通信,是指两个进程之间进行数据交换的过程. Android中如何开启多进程呢? 只需要给四大组件(Activit ...

  7. Linux基础入门---学习心得

    之前一直以为Linux和Windows差不多,但是学习了Linux基础入门之后才发现两种操作系统之间差距非常大. Linux只是在硬件之上的内核和系统调用,就连我们在Windows里习以为常的图形界面 ...

  8. Android 基础篇(二)

    ADB进程 adb指令 adb install xxx.apk adb uninstall 包名 adb devices adb start-server adb kill-server adb sh ...

  9. Android基础篇(一)

    Android体系结构介绍 Android是一个移动开发平台,层次结构:操作系统(OS).中间件(Middle Ware).应用程序(Application) 具体: 操作系统(OS)-->各种 ...

随机推荐

  1. centos postfix 邮箱安装记录

    ---恢复内容开始--- #wget http://nchc.dl.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-2.9 ...

  2. cygwin编译ffmpeg移植到android平台问题集锦

    编译环境: windows xp Cygwin 1.1.3.1 NDK r9 1.提示各种command not found 比如 ./config.sh: line 6: $'--arch=arm\ ...

  3. 常用Firefox扩展

    最近思维混乱,无心做事,故整理下东西.(PS:有些是firefox自带的.) 1.标签页管理器 2.1.41 用途:在新标签页打开书签.历史.地址.搜索. 主页:http://www.firefox. ...

  4. iPad和iPhone开发的比较

    一.iPad简介 1.什么是iPad 一款苹果公司于2010年发布的平板电脑 定位介于苹果的智能手机iPhone和笔记本电脑产品之间 跟iPhone一样,搭载的是iOS操作系统 2.iPad的市场情况 ...

  5. cadence遇到的问题(持续更新)

    1.画了DB9的封装,共十一个焊盘,其中两个是机械焊盘,在绘制PCB板时,想要将其接地,但无法连接,如图所示 因为是机械焊盘,所以无法用更改logic的方法进行网络更改,现在只发现一个办法,就是更改封 ...

  6. SmartPhone手机网站的制作

    刚开始努力有点偏,看到响应式网站去了,其实主要是要用JQuery Mobile 做一个像应用的网站. JQuery Mobile的教程 http://www.hongkiat.com/blog/bui ...

  7. Unity3d 项目管理 版本管理

    Unity3d中项目管理     版本管理 如果在提交文件的时候发现提示有"先更新,再提交的"提示的时候,这是因为,A提交了一个版本文件,版本是13,那么你还在修改版本为12的文件 ...

  8. VS2015开发的Office Addin部署,安装时报错:无法解析属性“type”的值。

    用VS2012开发的Outlook插件,在多数情况下安装正常,但是在某些机器上,安装时出现以下错误: 打开VSTOInstaller.exe.config文件查看,其中内容是: <?xml ve ...

  9. Lua参考手册

    英文原版: http://www.lua.org/manual/5.1/ 中文版下面2个地址都有:一样的 manual.luaer.cn lua在线手册 lua参考手册Lua参考手册的中文翻译(云风翻 ...

  10. 快速创建php server

    mkdir testmv test.html testphp -S localhost:8082http://localhost:8082/test.html