Android漫漫长路上的一些心得

在碌碌的踩坑填坑之后,总要学会聪明一些不是,一定要记得不要一个坑里掉进两次,一定要勇于突破自己的惯性在优秀的人身上发现优点学习优点,结果不一定好但是尝试了才知道

真理和道理很多非常多,难的不是去发现真理,是在茫茫规则中找平衡。

  • 不要轻易的去** 粗暴的 **解决问题,挖的坑多了迟早要还的

  • 开发的测试机尽量用中低端机器,要在开发层面就做好兼容低端机的打算

  • 要有查看GPU呈现模式分析的习惯,不然丢帧等现象堆到一起的时候很难优化

  • 在使用任何第三方框架的时候,请确认:
    1.这个框架是否足够成熟,是否有足够的人踩了足够的坑
    2.是否对程序的性能会有影响(谨慎使用注入框架)
    2.你要功能只是这个框架的多少?

  • SharedPreferences是线程间安全的,但是是进程间不安全的,针对不同数据存储的需求选用不同方式,不要一味的只会使用数据库保存数据,面向对面存储数据真的很方便ObjectSharePreference

  • 如果需要使用Context,区分清楚Application、Activity、Context、Service分别都能做什么事情!对于Application,Service,Activity三者的Context的应用场景如下:


    其中: NO1表示 Application 和 Service 可以启动一个 Activity,不过需要创建一个新的 task 任务队列。而对于 Dialog 而言,只有在 Activity 中才能创建

  • 当前Activity的onPause方法执行结束后才会执行下一个Activity的onCreate方法,所以在onPause方法中不适合做耗时较长的工作,这会影响到页面之间的跳转效率(记得时刻关注程序的性能在哪被消耗了)

  • 一些公共类使用单例可以让代码很大程度解耦,但是不要养成动不动就使用单例粗暴的解决问题(注意对象引用,注意内存泄露)

  • RxJava 可能是 AsyncTasks 以及其它并发业务的最佳替代者

  • Retrofit可能是当前最佳的网络框架解决方案(反正我现在是这么觉得的)

  • 谨慎使用 Lambda来简(装)化(逼)你的代码,真的可读性不是很好啊(当然相当熟悉多人协作的情况下,Lambda优势还是很明显的)

  • 使用事件总线(如:EventBus)能够很好解耦你的代码,但是事件乱飞的情况很难跟踪代码流程!

  • Application中尽量少做事,你真的很清楚Application的生命周期么?
    and 不要在Android的Application对象中缓存数据!

  • 谨慎使用AnimationDrawable或者Gif图片,对内存压力很大的(当然除非你对你的内存把控很自信),那么问题来了:为什么官方没有提供相关的Gif的API调用?

  • 很多项目是按照Class的类别分类的,但是当项目越来越大,有没有发现包的结构十分混乱,当找一个固定类的代价越来越大?@See:包名按照功能来,而不是按分层来;

  • Handler属于 TLS(Thread Local Storage) 变量, 生命周期和 Activity 是不一致的。因此这种实现方式一般很难保证跟 View 或者 Activity 的生命周期保持一致,故很容易导致无法正确释放。推荐使用静态内部类 + WeakReference 这种方式。每次使用前注意判空。
    记录一下JAVA对象的几种引用类型(Strong reference, SoftReference, WeakReference, PhatomReference)

    JAVA对象的几种引用类型

  • 使用AsyncTask的同学请注意了,Anroid中不同API版本的AsyncTask实现不一样,对执行任务的策略是不一样的,@See:调用AsyncTask的excute方法不能立即执行程序的原因分析及改善方案 So,这里就推荐使用RxJava了,虽然学习成本有些大

  • 欲善其事必利其器
    你是真的会用studio么?当然我也不是特别会用╮(╯_╰)╭,推荐几个我觉得好的

  • Android studio lint(代码规范,代码检查),

  • GsonFormat(根据Json生产java bean,和服务器交互不要太快),

  • simpleUMLCE(第三方的IDE插件,能够直接生成类图,很推荐)
    感觉这里可以说的太多,以后补充*

  • 如果你的现有项目是Eclipse工程那么,Eclipse转Android Studio的过程中有必要弄明白的一些问题,你需要了解多一些AS的相关知识

  • 使用 依赖注入 让你的app更模块化,从而更易于测试;
    (dagger2感觉还是很牛逼毕竟是Google出品,但是别问我我也没用过,我只用过简单的Butterknife)

  • 开始考虑用SVG来替代PNG (记得最早SVG出来时淘宝就用的SVG动画做的启动页面,那效果飞起来了,但是现在好像好没有直接把图片转换成SVG的工具(⊙_⊙))

  • 针对不同网络连接情况,制定不同的网络策略,例如:移动连接的时候显示小图,Wifi的时候显示大图,Wifi的时候下载缓存更多东西。

  • 时刻关注大公司在做什么事情,Google就不用说了,这篇文章很有意思国内Top500Android应用分析报告,可以获取的信息量有点大,在这就不班门弄斧了

  • 使用套路开发你的应用,不管是MVP、MVVM,T-MVP,Clean,持续去维护它,去思考去更新它,慢慢的就走上了通往大牛的路上!此记共勉!

  • 节制的使用Service,如果应用程序需要使用Service来执行后台任务的话,只有当任务正在执行的时候才应该让Service运行起来。当启动一个Service时,系统会倾向于将这个Service所依赖的进程进行保留,系统可以在LRUcache当中缓存的进程数量也会减少,导致切换程序的时候耗费更多性能。

  • Android中Touch事件传递


    Touch事件传递
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351

推荐阅读更多精彩内容