Kanghanbin's Blog

If someone is doomed to win, then why not me.


  • 首页

  • 标签

  • 归档

  • 关于

  • 搜索

关于Adroid Binder的理解

发表于 2018-08-10
本文字数: 31k | 阅读时长 ≈ 28 分钟
一. 前言这篇文章我酝酿了很久,参考了很多资料,读了很多源码,却依旧不敢下笔。生怕自己理解上还有偏差,对大家造成误解,贻笑大方。又怕自己理解不够透彻,无法用清晰直白的文字准确的表达出 Binder 的设计精髓。直到今天提笔写作时还依旧战战兢兢。Binder 之复杂远远不是一篇文章就能说清楚的,本文想站在一个更高的维度来俯瞰 Binder 的设计,最终帮助大家形成一个完整的概念。对于应用层开发的同学来说,理解到本文这个程度也就差不多了。希望更加深入理解 Binder 实现机制的,可以阅读文末的参考资料以及相关源码。二. Binder 概述简单介绍下什么是 Binder。Binder 是一种进程间 ...
阅读全文 »

你所知道的Support Library

发表于 2018-07-19
本文字数: 18k | 阅读时长 ≈ 16 分钟
一、前言作为安卓开发,天天跟Support Library打交道,动不动来个 Support Library相关类,如下: implementation 'com.android.support:support-v4:27.0.2' implementation 'com.android.support:appcompat-v7:27.0.2' implementation 'com.android.support:design:27.0.2' implementation 'com.android.support:cardview-v7:27.0.2' 这样做是 ...
阅读全文 »

Recycleview的SnapHelper的理解

发表于 2018-06-06
本文字数: 31k | 阅读时长 ≈ 28 分钟
SnapHelper是RecycleView在24.2.0版本中新增的辅助类,用于在RecycleView滚动结束时,将Item对其到某个位置。SnapHelper是个抽象类,继承了RecycleView.OnFlingListener类1.recycleview使用SnapHelper非常简单,只需要调用一行代码:attachToRecyclerView(mRecyclerView),SnapHelper里方法如下: public void attachToRecyclerView(@Nullable RecyclerView recyclerView) throw ...
阅读全文 »

今日头条的安卓适配方案,值得收藏

发表于 2018-05-20
本文字数: 22k | 阅读时长 ≈ 20 分钟
前言文章链接,之前确实没有接触过,我简单看了一遍,可以说,这也是相对比较完美的方案,我先简单说一下这个方案的思路,它是通过修改density值,强行把所有不同尺寸分辨率的手机的宽度dp值改成一个统一的值,这样就解决了所有的适配问题。比如,设计稿宽度是360px,那么开发这边就会把目标dp值设为360dp,在不同的设备中,动态修改density值,从而保证(手机像素宽度)px/density这个值始终是360dp,这样的话,就能保证UI在不同的设备上表现一致了。这个方案侵入性很低,而且也没有涉及私有API,应该也是极不错的方案,我暂时也想不到强行修改density是否会有其他影响,既然有今日头条 ...
阅读全文 »

DataBinding的用法

发表于 2018-03-23
本文字数: 49k | 阅读时长 ≈ 45 分钟
首先,为什么要使用DataBinding?一般写法findViewById 罗里吧嗦,写到想吐ButterKnife 代替 解放findViewByIdDataBinding数据和UI低耦合一、简介:The Data Binding Library is a support library that allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically.DataBinding 是一个支 ...
阅读全文 »

带你初识Kotlin(二)

发表于 2017-08-07
本文字数: 7.6k | 阅读时长 ≈ 7 分钟
上一节 简单认识了下kotlin的基本类型和常用流程控制,这节继续学习一、Kotlin 变量声明首先,kotlin变量的声明必须使用关键字var或valvar: 用此关键字声明的变量表示可变变量,即可读且可写。相当于Java中普通变量val: 用此关键字声明的变量表示不可变变量,即可读且不可写。相当于Java中用final修饰的变量1.1基础用法:关键字 变量名:数据类型 = xxxeg://立即初始化 var var_a: Int = 10 //推导出类型 var var_b = 5 //没有初始化的时候,必须声明类型 var var_c :Float var_c = 12.4f prin ...
阅读全文 »

带你初识Kotlin(一)

发表于 2017-07-18
本文字数: 36k | 阅读时长 ≈ 33 分钟
What is Kotlin?Kotlin是JVM和Android的实用编程语言,结合了OO和功能特性,专注于互操作性,安全性,清晰度和工具支持。本文记录自己学习kotlin认为需要记录的重点,如果需要详细学习,请点击Kotlin中文文档学习。基本类型在 Kotlin 中,所有变量的成员方法和属性都是一个对象。一些类型是内建的,它们的实现是优化过的,但对用户来说它们就像普通的类一样。数值类型Kotlin 处理数值的方法和 java 很相似,但不是完全一样。比如,不存在隐式转换数值的精度,并且在字面上有一些小小的不同 。Kotlin 提供了如下内建数值类型(和 java 很相似):类型字宽Dou ...
阅读全文 »

Source Insight 初次使用

发表于 2017-05-06
本文字数: 3.2k | 阅读时长 ≈ 3 分钟
[TOC]A. why SI:为什么要用Source Insight呢?因为她比完整的IDE要更快啊,比一般的编辑器便捷啊!她有逆天的查看定义,查看调用,查看引用功能以及方便的Context Window上下文显示,像这样的东西非常有利于查看大量代码!那么问题来了——比如我现在随便找了一份源码,我该要怎么阅读呢?很简单,SI可以极其方便地将一个源码目录变成source insight工程,然后直接操作——来天吞天,来地含地:新建工程——>命名工程——>设置源码目录——>好了,去阅读吧。。。那么又有一个问题,比如老子要设置字体背景之类的东西哩?呵呵,Options->Pr ...
阅读全文 »

Git团队协作常见命令的记录

发表于 2016-10-27
本文字数: 6.6k | 阅读时长 ≈ 6 分钟
一、Git简介一个分布式版本管理系统,重点在分布式,CVS和SVN都是集中式版本控制系统,那么问题来了,分布式和集中式有何区别呢?先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。 集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟,这还不得把人给憋死啊 ...
阅读全文 »

Hexo搭建博客常用命令

发表于 2016-07-15
本文字数: 2k | 阅读时长 ≈ 2 分钟

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

$ hexo new "My New Post"

More info: Writing

阅读全文 »
1…567
康汉斌

康汉斌

间歇性混吃等死,持续性踌躇满志

61 日志
22 标签
GitHub Csdn
0%
© 2015 – 2021 康汉斌 | 站点总字数: 524k | 站点阅读时长 ≈ 7:57