关闭

ViewStub的实现深入解析

布局优化是性能优化中一项不可缺失的工作,而ViewStub是性能布局优化中很有必要的一项,使用ViewStub可以把类似空白页、错误页等不需要马上显示的View实现懒加载的效果,而且内存占有量非常的少,它是一个宽高为0、不执行draw方法且本身设置了View.GONE所以基本上不参与layout,非常适合用于做懒加载的布局优化。...
阅读(167) 评论(1)

Android中怎么计算apk的启动时间

本文来自 https://www.zhihu.com/question/35487841 这是一篇讨论怎么计算apk的启动时间…...
阅读(408) 评论(0)

LeakCanary从入门到源码分析

“A small leak will sink a great ship.” - Benjamin Franklin 千里之堤, 毁于蚁穴。 – 《韩非子·喻老》 LeakCanary是什么?可以从LeakCanary的github很容易的得到定义: Android|Java的内存检测库 更多使用方法:https://www.liaohuqiu.net/cn/po...
阅读(2370) 评论(0)

Android中利用APT生成代码

APT已经不新鲜了,虽然我们都知道这是个什么东西: APT(Annotation Processing Tool 的简称),可以在代码编译期解析注解,并且生成新的 Java 文件。 但是为了能自己动手采用APT写一个框架那才能说是真的了解它、所以本文模仿butterknife自己写一个方便加深印象。...
阅读(218) 评论(0)

采用APT&RxJava造一辆RxBus

首先感谢以下文章: APT:https://github.com/lizhaoxuan/Android-APT-Framework 反射:http://www.cnblogs.com/lzq198754/p/5780331.html 注解:http://www.cnblogs.com/linjiqin/archive/2011/02/16/1956426.html...
阅读(449) 评论(0)

Android中线程池的使用

本文来自:Amit Shekhar的一篇译文,地址 https://medium.freecodecamp.com/threadpoolexecutor-in-android-8e9d22330ee3#.c451hqaf2 本文主要讲解线程池、线程池Executor在Android的使用,并且通过代码片段来覆盖这些主题。...
阅读(640) 评论(0)

Android6.0权限管理到RxPermissions源码分析

在给应用适配6.0版本的时候,我们就需要运行时权限管理。在6.0开始有一套新的运行机制管理用于更友好的保护用户的隐私安全,一般涉及用户隐私的需要实时来提示用户通过允许和拒绝来授权。...
阅读(3304) 评论(0)

从热更新到Nuwa源码分析

参考文章: 安卓App热补丁动态修复技术介绍——by QQ空间终端开发团队 Android dex分包方案 Android热更新方案Robust 开源库: https://github.com/jasonross/Nuwa https://github.com/dodola/HotFix...
阅读(699) 评论(0)

在Android中使用正确的姿势写一个string.xml

首先,本文用于记录Android中琐碎的string.xml声明。...
阅读(1520) 评论(0)

使用RxJava自己构造一个三级缓存的实例

通常我们说的三级缓存是指Memory,Disk,NetWork,因为我们都知道从网络读取一条数据往往存在各种因素速度不尽人意,如果一个应用中任何数据都是实时从网络获取,那么我们想象一下用户每次都要面对如进度条转个两三圈才显示数据这种体验肯定是不佳的,所以我们需要缓存数据,所以本文介绍使用RxJava通过实例来讲解如何缓存数据。...
阅读(582) 评论(0)

RecycleView从显示到下拉刷新和加载更多

RecycleView出来已经有一两个年头了最近在项目中完全替换掉了ListView很有必要的写一篇记录一下使用过程,以便以后温故而知新。RecycleView的使用场景开始到初始化RecycleView可以用于展示列表式、网格式、瀑布流式风格的界面而且使用方便,可以这么来讲任何ListView能做到的功能RecycleView它也能做到而且能轻松驾驭比ListView更加强大的功能...
阅读(1462) 评论(0)

注解(Annotation)从实例开始

Annotation(注解)是一个以@interface声明的一个接口,程序可以通过反射来获取指定程序元素的Annotion对象,然后通过Annotion对象来获取注解里面的元数据,要求JDK版本要1.5才有这个功能。Annotation使用起来跟普通的接口基本上相似,只是多了一个@符号。...
阅读(313) 评论(0)

RxJava中的Subject和常见的生命周期管理

首先,从下面这个对Subject类的定义中可以看出Subject既可以是Observer也可以是Observable。public abstract class Subject extends Observable implements Observer 这种就非常适合于把数据先存入到Subject中,然后转成Observable这样就可以发射事件流了...
阅读(1079) 评论(0)

Android自定义View的正确流程

平时开发中Android已经为我们提供了很多优秀的UI控件,我们可以直接拿来用就能正确的显示我们想要的效果,那么问题来了我们要的效果系统并不能满足这时候我们就要自定去定义一个View了。所以我们从简单画一个圆来说明View的自定义流程。在开始之前我们肯定都会疑问 1.如何自定义圆的颜色、大小 2.为什么margin有效果而padding却无效呢。...
阅读(339) 评论(0)

Retrofit结合RxJava的一次实践

公司的一个项目中已经采用了Retrofit加RxJava的作为网络请求框架,强大的框架所以替换了那么久决定记录一下我的实践过程。...
阅读(1105) 评论(0)

使用RxJava实现的超简单事件总线RxBus

项目中加入了RxJava,所有很有必要把Eventbus给替换掉了,引用使用RxBus完全满足了需求了。而且RxBus实现起来超简单只需要几行代码就好了而且同一使用RxJava来取消绑定,我们可以忽视了Eventbus的unregister的过程,当然我们还是需要在界面结束的时候取消Observable间的订阅关系。...
阅读(1640) 评论(0)

使用Gradle统一管理常用库和版本号

现在AndroidStudio已经是开发Android的主流IDE了,当然还有人在使用Eclipse特别是那些项目中使用自己开发的so文件的公司可能由于各种原因还没切换到AndroidStudio。在AS中常见的引用库我们是在我们项目的build.gradle进行引入常用库,并使用gradle来进行渠道打包等操作。...
阅读(2132) 评论(0)

Android高效网络请求Retrofit框架

Retrofit已经升级到2.0版本了,之前在项目中一直使用Volley作为网络请求框架那么为什么我们要考虑替换到Retrofit呢。...
阅读(662) 评论(0)

Android的IPC机制实现方式之Messenger

Messenger可以翻译成信使,通过它可以在不同进程间传递Message对象有了它就可以轻松实现进程间的数据传递了。Messenger使用的方法相对AIDL比较简单,它对AIDL做了一层封装是的我们不需要像采用AIDL那样去实现进程通信那么麻烦,可以看看他的源码有AIDL的迹象。...
阅读(760) 评论(0)

在Android使用AIDL实现IPC机制

之前在自己应用中把一个视频播放界面采取了多进程机制实现,这样的好处是当播放界面出现任何异常会把视频播放的那个进程强制关闭而不会影响到整个应用,从用户体验上来讲有很大的改善。我们采取的做法:android:process=":remote"这样能轻松实现多进程机制,可是由它带来的不可预见的问题也是接踵而来主要表现的就是两个进程间如何通信的问题,所以当时我采用的aidl实现两个进程间的通信问题。...
阅读(663) 评论(0)
71条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:70960次
    • 积分:1501
    • 等级:
    • 排名:千里之外
    • 原创:66篇
    • 转载:4篇
    • 译文:1篇
    • 评论:12条
    最新评论