Toggle navigation
夏敏的博客
Home
About
Portfolio
Tags
Material-Design
Tags
keep hungry keep foolish
大学那点事
网络
Java
设计模式
Git
工具类
Android
View
Http
Linux
零散记录
奇技淫巧
曲苑杂谈
Google源码
Blog
漫漫人生路
数据库
小知识
程序员漫画
JVM
代码优化
社会
Kotlin
NDK
插件化
正则表达式
图片加载框架
Router
音频
Socket
WebView
AIDL
Time
大学那点事
大学那点事-HashMap与Hashtable
大学那点事-TCP与UDP学生时代记录
网络
WebSocket简介
简单介绍一下websocket
Http笔记
大学那点事-TCP与UDP学生时代记录
Java
write()和append()的区别
容易让人误会的write与append
谈谈那个听起来挺高大上的ThreadLocal
Android多进程应用之接口可靠性优化
你的AIDL接口是否可靠?
再次深入final关键字
匿名类用到的变量为什么一定要是final的呢?
深入Java语法糖之泛型
剥去那些高大上的语法的外衣
从几行代码看Java类加载机制
Java类加载机制从懵逼到放弃
Java并发数据结构收藏
NDK初步
Java调用C++与C++回调Java
认识Concurrent包中的 CAS
认识happens-before规则与指令的重排序
从happen—before分析DCL的volatile
一个命令轻松切换Java版本
阿里巴巴Java编程规约学习记录
让Java开发者能够提升协作效率、提高代码质量
ClassLoader那点事 [转]
甚好文章,讲解很全,不得不转
Android开发优化之的强引用、软引用、弱引用、虚引用使用
Collections.sort排序详解
Java零散记录
Java的反射机制
工厂模式以及反射工厂
大学那点事-HashMap与Hashtable
设计模式
应用较广泛模式之装饰者模式
一年逛一次设计模式,每次都有新感觉!
Android设计模式之责任链模式
一年逛一次设计模式,每次都有新感觉!
Android状态模式的几种应用场景
Android开发之模板方法模式
Android中的备忘录模式-onSaveInstanceState()
AIDL的真相-Android中的代理(Proxy)模式
2016-08-11-Android之Builder模式
Android中的策略模式
Android中的原型模式
Android中的观察者模式
Android中的享元模式
单例模式的常用写法
软件设计的准则
Git
Git常用命令
工具类
Linux工具命令之crontab
小命令要学好,请让我看到你翘起来的嘴角
Android开发常用命令
Android
Android 应用开发IO建议
Android存储建议
Android应用程序保活方案大全
与各厂商以及源码斗智斗勇
Android LocationMode 详解
位置信息的演变,以及Q适配
在http请求中,空格被encode成'+' or '%20的历史
这是一段让人纠结的历史
在Android O突破隐式广播限制
从源码角度来突破隐式广播的限制
Fragment源码解析
刮风这天 我试着握着你手 但偏偏 雨渐渐 大到我看你不见
Android8.0 Fragment变化之setTargetFragment
Android系统层Watchdog机制源码分析
系统层的看门狗
WebSocket简介
简单介绍一下websocket
KeepGank.IO 2.0来了
全新的KeepGank
Android,mk那些变量的含义
Android meta-Data介绍及应用
利用meta-data,让你的Manifest增加了提供数据的功能
RemoteCallbackList简介
一个重要的辅助工具类
应用较广泛模式之装饰者模式
一年逛一次设计模式,每次都有新感觉!
Android多进程应用之接口可靠性优化
你的AIDL接口是否可靠?
TCP粘包的那点事儿
Nagle算法带来的弊端-粘包
Android音频知识介绍-从AndroidRecord看起
PCM、采样率、采样精度、码率、WAV
插件化入门篇-如何启动一个未注册过的Activity
看我赵云在AMS七进七出
Android路由(一)-scheme实现网页链接携带参数跳转到Activity
Android设计模式之责任链模式
一年逛一次设计模式,每次都有新感觉!
Glide源码解析
Glide源码有很多值得学习的地方,各种设计模式用的堪比AOSP,不过也实在是有够复杂
图片加载框架的打造(四)-封装-完善-总结
简单图片加载框架的打造(三)-加载器缓存器设计
简单图片加载框架的打造(二)-分发器设计RequestQueue
简单图片加载框架的打造(一)-框架设计
使用ScrollView滚动事件打造动画框架ScrollAnimationSherlock
全xml配置动画解耦
从几行代码看Java类加载机制
Java类加载机制从懵逼到放弃
插件化实现Android多主题功能原理剖析
终于迎来了插件化知识
来自B站的开源的MagicaSakura源码解析
目前看来,这只是一个多颜色的框架,而不是一个多主题框架
Android一个应用多个图标的几种实现方式
代码优化之使用SparseArray系列代替HashMap
使用HashMap
时,若K为整数类型, 是时候考虑提升性能,减少hashCode时间消耗了
打造Android揭面水波动画库-AnimationHelper
KeepGank.IO - 一款开源Gank.IO客户端. 欢迎star
手写一个贝塞尔曲线效果的Loading View
如何往Android系统中添加服务
getSystemService深入
如何将一个Activity放到系统的最近任务列表里,独立于宿主app任务卡之外?
巧用新的Activity栈
What is DecorView and android.R.id.content?
DiskLruCache简介
全栈级别梳理-Android系统启动流程
Android小知识-Asset目录与res目录的区别
兄台的TextView怎么功能如此强大?
谈谈Span在Android中的应用
No SQL, Realm轻量级,现代化数据库入门
让你的应用迅速带上存储的翅膀
学习资料无尽-Android进阶资料大全 [转]
有的看了,多看多实践,才不会被淘汰
简单说说ART和Dalvik区别
ClassLoader那点事 [转]
甚好文章,讲解很全,不得不转
闲散整理,带你走进Android短信源码
事实上,市场上的大多短信应用都是基于Google原生改的
2017-01-25-写在腊月28,纪念我的第一个开源库的诞生
整理的一些Android学习资源
一个工程带你学会使用RxJava+Retrofit
默认情况下Service被意外杀死会自动重启么
Android解惑之Handler为什么需要是static的
Android开发优化之的强引用、软引用、弱引用、虚引用使用
Android反编译教程
Android浅析SurfaceView
Android开发之从源码深入Activity
Android程序员日常开发中异常总结
Android 零散记录
浅谈Android ANR分析
Handler.post解惑
Android N新特性-多窗口模式适配
android开发之深入context
2016-08-11-Android之Builder模式
RecylclerView入门初步
几步教你怎么写MVP
两层view叠加带来的响应问题
浅析Android View的触摸分发机制
View
EnhancedImageView-自己实现一个带有放大缩小效果的图片预览效果的自定义View
手写一个贝塞尔曲线效果的Loading View
What is DecorView and android.R.id.content?
Android浅析SurfaceView
RecylclerView入门初步
两层view叠加带来的响应问题
浅析Android View的触摸分发机制
Http
从www.baidu.com看Http请求
Http笔记
Linux
一个命令轻松切换Java版本
程序员漫画系列-Linux内核里面的那些小企鹅们
Ubuntu零散记录
零散记录
操作系统零散记录
用来记录平时看到的操作系统知识,以及一些知道但是却不能明确说清的知识点
Ubuntu使用Shadowsocks
Android 零散记录
Java零散记录
Ubuntu零散记录
奇技淫巧
奇技淫巧之生成二维码工具类
如何在Fragment中监听触摸事件
手动实现触摸分发
奇技淫巧之-EditText控制输入中文10个字英文20个字且不允许特殊字符
奇技淫巧之-Android监听键盘弹出与隐藏事件
奇技淫巧之-Android获取系统充电状态
曲苑杂谈
曲苑杂谈之令人震惊的GPS卫星
Google源码
闲散整理,带你走进Android短信源码
事实上,市场上的大多短信应用都是基于Google原生改的
Blog
为你的网站添加不蒜子访问统计
漫漫人生路
再见,感恩2018。
暨2019年规划
2017再见,2018你好,第二人生。
2017年度总结,人生,就是在不断的进步
回首2016,漫漫人生路
初入社会, 技术成长
数据库
No SQL, Realm轻量级,现代化数据库入门
让你的应用迅速带上存储的翅膀
小知识
Android一个应用多个图标的几种实现方式
为你的Android Studio打造帅气的LogCat配色
Android小知识-Asset目录与res目录的区别
程序员漫画
程序员漫画系列-数据库注入式攻击
程序员漫画系列-80端口之战
程序员漫画系列-Linux内核里面的那些小企鹅们
JVM
JVM学习之GC那点事儿[转]
来自腾讯QQ空间终端研发团队的GC总结
JVM学习之 线程同步背后的原理
代码优化
逆向思考,优化/重构你的代码逻辑
代码优化之使用SparseArray系列代替HashMap
使用HashMap
时,若K为整数类型, 是时候考虑提升性能,减少hashCode时间消耗了
社会
旧世界的崩塌,未来世界幸存者
技术会让生活更美好?会让人们更幸福么?
Kotlin
Klog-利用Kotlin的类扩展带来新式log输出
NDK
NDK初步
Java调用C++与C++回调Java
插件化
插件化入门篇-如何启动一个未注册过的Activity
看我赵云在AMS七进七出
插件化实现Android多主题功能原理剖析
终于迎来了插件化知识
正则表达式
正则表达式学习
图片加载框架
Glide源码解析
Glide源码有很多值得学习的地方,各种设计模式用的堪比AOSP,不过也实在是有够复杂
图片加载框架的打造(四)-封装-完善-总结
简单图片加载框架的打造(三)-加载器缓存器设计
简单图片加载框架的打造(二)-分发器设计RequestQueue
简单图片加载框架的打造(一)-框架设计
Router
Android路由(一)-scheme实现网页链接携带参数跳转到Activity
音频
Android音频知识介绍-从AndroidRecord看起
PCM、采样率、采样精度、码率、WAV
Socket
TCP粘包的那点事儿
Nagle算法带来的弊端-粘包
WebView
WebView加载Github工程时直接进入README界面的几种方式
用JS直接编写插件给webview
AIDL
AIDL中参数的out,inout问题
Time
Android系统时间之网络更新时间机制
NetworkTimeUpdateService
时间系列之各种时间的意义
那些令人迷惑的时间
时间知识介绍开篇之夏令时(夏时制)
夏令时的历史故事
返回顶部