加载中
如何开发一款高性能的gradle transform

前言 对于java开发者来说,大家好像都比较喜欢在编译期间搞事儿,比如为了做到AOP编程,大家都喜欢利用字节码生成技术,常用的有无痕埋点,方法耗时统计等等。那么Android中具体是如何做到这...

2019/07/23 09:48
2K
Android 单元测试和 UI 测试初步实践

Android 测试简介 对于大多数 Android 商业项目,基本都是处于高速迭代的开发阶段,这个阶段不仅仅是对项目的开发效率,也对项目的产品质量提出了更高的要求。 通常大型项目都是通过黑盒测试...

Android Classloader机制

传统Jvm java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 类的生命周期 类从被...

2019/01/18 09:57
44
安卓自定义View进阶-事件分发机制原理

这个真的是神作了!

2018/05/22 11:23
218
WebView 的一切都在这儿

相关API 1.1. 相关类介绍 1.2. WebView 1.3. WebSettings 1.4. WebViewClient 1.5. WebChromeClient 回调顺序 视口(viewport) 管理 Cookies 缓存(Cache) 预加载(Preload) 与Javascript交互 ...

2017/12/26 09:29
946
Android进程回收优先级

系统对进程回收的优先级。

2017/10/30 09:36
75
Android Studio 你不知道的调试技巧

写代码不可避免有Bug,通常情况下除了日志最直接的调试手段就是debug;那么你的调试技术停留在哪一阶段呢?仅仅是下个断点单步执行吗?或者你知道 Evaluate Expression, 知道条件断点;可是你...

2017/10/19 10:00
99
Android Studio 实用快捷键

一般的什么快捷键,技巧的文章也有很多。我也看过很多。下面这些事我在来自国外大神发布的:Android Studio Tips of the Day查看到的,而且对于我来说有帮助的及没用过的。 Android Studio T...

2017/07/17 09:20
52
V哥自用 测试fragment声明周期 调整懒加载

今天一下写了两次,真麻烦,干脆以后直接copy了。现在市面上流行的所谓懒加载,大多是用了setUserVisibleHint来判断fragment是否显示,如显示则加载,居然还有leader用这个来做面试题,我笑~...

2017/07/11 18:04
59
android权限大全

访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的...

2017/06/20 09:18
29
Android WebView 详解(持续更新)

之前使用原生的WebView,觉得功能好强大,但是随着渐渐的深入,发现里面门路太多了,&#...

2017/06/16 14:28
152
吹爆系列:深度探索 Gradle 自动化构建技术

0 前言 从明面上看,Gradle 是一款强大的构建工具,而且许多文章也仅仅都把 Gradle 当做一款工具对待。但是,Gradle 不仅仅是一款强大的构建工具,它看起来更像是一个编程框架。Gradle 的组成...

paging数据源的二次封装及我目前的认识

说实话,pagging的数据源定义是在是太繁琐了,所以二次封装了下,没有任何侵入,干净利落,暂时先留存下来,或许在我的生命之中还能用到。。 package com.lk.care.respository import andro...

【Jetpack更新之Recyclerview】更优雅地恢复 recyclerview 的滚动位置

被我忽视的更新 androidx recyclerview 1.2.0-alpha02 版本添加了新功能 MergeAdapter,帮助开发者更容易地为 RecyclerView 添加 Header 和 Footer。详情参见 【译】MergeAdapter 的使用 使用...

05/21 10:11
81
Android中不规则形状View的布局实现

在Android中不管是View还是ViewGroup,都是方的! 方的! 方的! 而对于非方形的,Android官方并没有给出非常好的解决方案.有的无非就是自定义View了. 然而自定义View非常麻烦,需要重写很多方法,...

05/21 10:03
4
Android 播放提示音

播放系统默认提示音 val uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION) val rt = RingtoneManager.getRingtone(getApplicationContext(), uri) rt.play() 具体播...

01/14 16:57
79
从0到1优雅实现沉浸式状态栏

目录 1. 概述 2. 实现方案 2.1 前期工作 2.1.1 修改应用主题 2.1.2 获取状态栏高度 2.2 Android 5.0+ 2.2.1 设置状态栏颜色 2.2.2 设置状态栏文字颜色 2.2.3 设置状态栏透明 2.3 Android 4....

2019/09/17 10:14
200
Retrofit源码解析三——对接口方法参数注解的处理

private @Nullable ParameterHandler<?> parseParameter( int p, Type parameterType, @Nullable Annotation[] annotations, boolean allowContinuation) { ParameterHandler<?> result = nu...

2019/09/02 17:17
106
Retrofit源码解析二——对接口方法注解的处理

首先通过Utils.validateServiceInterface(service);来检查传入的参数是否是一个没有继承关系的接口,这是怎么判断的呢? static <T> void validateServiceInterface(Class<T> service) { if ...

2019/09/02 16:49
23
Retrofit源码解析一——从create方法切入

Retrofit源码解析 OKHTTP的基本认识 创建OkHttpClient,OkHttpClient负责实际请求的发送,并且可以对他配置超时时间、网络代理、缓存等。 创建RequestHeader和RequestBody。 创建Request。 ...

2019/09/02 16:44
218

没有更多内容

加载失败,请刷新页面

返回顶部
顶部