关闭

通过Gradle的Transform配合ASM实战路由框架和统计方法耗时

首先,现在世面上的项目基本上都是N多个module并行开发很容易就会出现moduleA想跳转到moduleB某一个界面去如果你没有把moduleB在对应的build.gradle中配置的话,AS就会友好的提示你跳不过去,这时候就需要一个路由来分发跳转操作了。 其次,随着时间的慢慢迭代发现需求功能已经写完了,慢慢开始要各种优化了,常见的优化是速度优化自然而然就需要查看方法的耗时情况...
阅读(50) 评论(0)

Android中UI性能分析原理

涉及到UI性能问题我们需要直面的就是卡顿,为了让应用更加流畅我们不得不做一些监控,从而能及时修复卡顿现象还用户一个丝滑的体验。...
阅读(302) 评论(0)

ViewStub的实现深入解析

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

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

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

LeakCanary从入门到源码分析

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

Android中利用APT生成代码

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

Android中线程池的使用

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

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

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

从热更新到Nuwa源码分析

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

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

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

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

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

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

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

注解(Annotation)从实例开始

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

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

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

Android自定义View的正确流程

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

Retrofit结合RxJava的一次实践

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

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

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

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

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

Android高效网络请求Retrofit框架

Retrofit已经升级到2.0版本了,之前在项目中一直使用Volley作为网络请求框架那么为什么我们要考虑替换到Retrofit呢。...
阅读(741) 评论(0)
73条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:78575次
    • 积分:1597
    • 等级:
    • 排名:千里之外
    • 原创:68篇
    • 转载:4篇
    • 译文:1篇
    • 评论:12条
    最新评论