android基础篇学习心得
android技术中,线程、进程、JNI、IPC和各个小框架结构是基本功。在跟随高焕堂老师的android程序猿到架构师之路系列视频中 学习完基础篇之后,颇有些心得,记录下来。
android开发就是app开发吗?曾听过很多人说android学习很简单,做个app轻松就上手了。我一直觉得不以为然,许多程序员做app开发时,心中大致只有四大组件、各种布局、数据库和一些常用控件。对于各小框架、线程间通信、绑定服务、java与c的对接等基本原理并不清楚,也没必要弄清楚。
最近学校搞了一个实训,要求做一个拼图游戏。面对一些特别的需求,出现一些奇特的bug,另一个同样学android 但是重心放在实现而非原理上的小伙伴觉得压力挺大。在我看来假如他学习过view框架的一些细节,像onDraw() invalidate()、onMeasure()函数这些,就很容易解决了。所以我认为,学习一项技术最好还是要懂原理,成体系零散的知识点看起来很诱人,能在很快时间内做出炫酷的效果。想着反正实现功能就好了嘛,何必纠结那么多。 这样的心态要不得,越零散越容易忘,越要重新学。所谓磨刀不误砍材工,系统的去学、有自己的见解、将知识融会贯通自成一套体系,长期坚持必然能拥有不凡的基本功,也拥有举一反三的能力。就技术而言,我个人觉得还是得挑难学的技术学,因为难所以核心,因为难所以有门槛。只要你坚持住了,将大大提高自己的核心竞争力。一句话总结,学东西重基础、成体系、能攻关,比所谓为了开发效率速成的技术来得有价值。
android开发不仅仅是app开发,整个android体系庞大繁复,其中蕴含了许多匠师精巧的设计,在学习androi的同时多去关注android的设计理念,看看框架的实现思路甚至读读源代码,这对程序员的自身修养和实力都大有进益。
最后,希望自己在架构师的路上不断前行,原各位同道在搞技术的同时多多思考。
android基础篇学习心得的更多相关文章
- 深入理解gradle编译-Android基础篇
深入理解gradle编译-Android基础篇 导读 Gradle基于Groovy的特定领域语言(DSL)编写的一种自动化建构工具,Groovy作为一种高级语言由Java代码实现,本文将对Gradle ...
- Linux随笔-鸟哥Linux基础篇学习总结(全)
Linux随笔-鸟哥Linux基础篇学习总结(全) 修改Linux系统语系:LANG-en_US,如果我们想让系统默认的语系变成英文的话我们可以修改系统配置文件:/etc/sysconfig/i18n ...
- 2-STM32+W5500+GPRS物联网开发基础篇-基础篇学习的内容
https://www.cnblogs.com/yangfengwu/p/10936553.html 这次的基础篇为公开篇,将公开所有基础篇的资料和源码 现在说一下基础篇准备公开的内容:(大部分哈,要 ...
- 【转】android的startActivityForResult学习心得
http://blog.csdn.net/yanzi1225627/article/details/7800529 从昨晚到现在终于调试通了一个startActivityForResult的例子,网上 ...
- Python基础篇学习感悟:学如不及,犹恐失之
从2019年3月底开始学习Python,4月12日在CSDN发表第一篇博文,时至今日已有4个月零12天. 4个多月的学习,老猿从一个Python小白成长到今天,可以说对Python这门语言已经略知一二 ...
- Android基础知识学习
IPC (Inter-Process Communication) 意思是: 进程间的通信,是指两个进程之间进行数据交换的过程. Android中如何开启多进程呢? 只需要给四大组件(Activit ...
- Linux基础入门---学习心得
之前一直以为Linux和Windows差不多,但是学习了Linux基础入门之后才发现两种操作系统之间差距非常大. Linux只是在硬件之上的内核和系统调用,就连我们在Windows里习以为常的图形界面 ...
- Android 基础篇(二)
ADB进程 adb指令 adb install xxx.apk adb uninstall 包名 adb devices adb start-server adb kill-server adb sh ...
- Android基础篇(一)
Android体系结构介绍 Android是一个移动开发平台,层次结构:操作系统(OS).中间件(Middle Ware).应用程序(Application) 具体: 操作系统(OS)-->各种 ...
随机推荐
- opencv在VS2010命令行编译过程
最近这两天一直在研究命令行参数的编译,现代吗如下: #include <highgui.h> #include <math.h> #include <cv.h> I ...
- 张江在线APP演示
app下载地址:https://itunes.apple.com/cn/app/zhang-jiang-zai-xian/id722630317?mt=8
- “layout_”下划线开头的属性
观看幕课网的视频的收获 “layout_”下划线开头的属性都是交给父容器去处理的属性,如: android:layout_width="match_parent" android: ...
- iOS开发之——巧用反射机制
1.应用场景——自定义UITabBarController的TabBar视图 (1)隐藏TabBar视图 一般我们选择自定义TabBar视图有两种方式.1是将tabBar视图隐藏;2是将TabBar视 ...
- 【Linux】常用命令 lsof查看打开的文件
Linux系统把软硬件都抽象成文件,所以通过文件可以追踪到很多重要信息,如读取的配置文件.打开的端口等. 下面是常见的用法: 默认测试文件名为text.txt 1,显示打开text.txt的进程: l ...
- WPF小程序:贪吃蛇
原文地址:http://hankjin.blog.163.com/blog/static/337319372009535108234/ 一共两个文件:EasterEgg.xaml + EasterEg ...
- oracle 对象权限 系统权限 角色权限
系统权限: 允许用户执行特定的数据库动作,如创建表.创建索引.连接实例等 对象权限: 允许用户操纵一些特定的对象,如读取视图,可更新某些列.执行存储过程等 select * from user_sys ...
- Area of Simple Polygons
poj1389:http://poj.org/problem?id=1389 题意:求矩形面积的并题解:扫描线加线段树 同poj1389 #include<iostream> #inclu ...
- Church encoding
In mathematics, Church encoding is a means of representing data and operators in the lambda calculus ...
- 华为5700交换机通过外部开源protal和本地aaa用户认证的一些问题
http://support.huawei.com/ecommunity/bbs/10178271.html?p=1#p0 华为5700交换机通过外部开源protal和本地aaa用户认证的一些问题 各 ...