小松的技术博客

六和敬

若今生迷局深陷,射影含沙。便许你来世袖手天下,一幕繁华。 你可愿转身落座,掌间朱砂,共我温酒煮茶。

Tag: Android开发

  1. Java注解与代码生成

    java是一门静态语言,语言层面缺乏灵活性,这使得我们项目中很容易出现大量重复的代码。虽然这些重复代码必不可少,但我们也不想用粘贴复制来解决问题,所以我们希望通过代码自动生成的方式来提高我们的工作效率。C#有非常棒的生成工具CodeSmith,而java我们可以借助注解来完成代码生成工作。 Java注解 java注解是java5引入的功能,我们能够经常看到,如@Override,但未必对其有深入的了解。了解这方面的知识有助于我们深入理解一些框架,比如ButterKnife、Dragger、Ret…

    Android开发 继续阅读
  2. Agera源码探索

    Agera是google最近才开源的一个响应式框架。Android界已经存在一个目前非常流行的RxJava响应式框架,因而Agera这个框架不会那么快的火起来,与Rxjava的push data model不同,它采用push event, pull data model的模式,这意味着event传递不携带任何数据,订阅者在收到notify后自己去拉取数据。这种模式与前端的单向事件流很相似并且在前端已经被证实为比较成功的模式了,但这种模式在Android的应用则还要等待时间的校验。就目前而言,这…

    Android开发 继续阅读
  3. Binder浅析

    Binder是android上用于跨进程通信的通信机制。因此android开发的很多方面都与它挂钩。这也是一个学习的难点,网上也有很多教程,但基本上大多数要么简单介绍,要么从源码分析。从源码分析固然很好,但是源码是基于c++,并且实现很复杂,因而还是看不到。直到这周看到了Binder机制1---Binder原理介绍一文,终于能够初探门路,从整体上了解了Binder,因此有了本文。 一、为何是binder 虽然Android是基于linux的操作系统,但它却并没有采取linux常用的通信方式如so…

    Android开发 继续阅读
  4. MDCC参会总结之Android

    本次MDCC的Android专场基本都集中在性能优化上,而性能优化其实就是指出存在的性能问题和给出解决方案。 不要让App运行缓慢 一.Broadcast receivers in AndroidManifest可能远比你想象中慢 避免使用静态声明的Broadcast Receiver,尽可能动态注册; 不再需要时禁用静态 Receiver ,例如PackageManager.setComponentEnabledSetting()。 二.进程创建和初始化(在低端机型上可能需要约 1 秒)和…

    Android开发 继续阅读
  5. RecyclerView使用详解

    RecyclerView是google在2014年I/O大会上提出新的用于取代ListView的组件。相比ListView而言,它更加强大,而且非常灵活,这边文章将会详细介绍会RecyclerView以及它的内部类。 本文中所用的代码我都放在了Github上,地址为:https://github.com/cgspine/RecyclerView 理解RecyclerView的结构 RecyclerView在职责分离上是做得非常好的,所以在使用RecyclerView前我们需要理解Recycler…

    Android开发 继续阅读