- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 Android中gradle和环境变量
一. Gradle为什么很多时候我们打开别人的项目,build的时候会卡住,build的很慢呢?首先讲一下,AS中的gradle有两个部分: 1. gradle : gradle是一个项目构建工具。可以在setting/Build/gradle设置。Gradle官网 2. gradle_plugin: 是由google提供的插件,方便构建Android应用。在你项目的主目录下有一个文件...
2021-03-09 09:57:21
994
1
原创 View的事件分发机制源码分析
View的事件分发机制1. 基本的一些概念1. MotionEventJava是面向对象的编程语言, 所以它把用户和屏幕的一次交互封装成了一个对象,这个就是MotionEvent 而我们对屏幕的交互一般来说,不外乎这么三个动作: - 按下 - 移动 - 抬起这三个动作分别对应了MotionEvent中的三个int值 - ACTION_DOWN 对应了我们手指刚按...
2017-09-10 14:18:01
403
原创 App启动流程分析(上)
App启动流程分析一.概述流程在LAUNCH界面,点击一个app的图标之后,会调用startActivity来启动对应的Activity。通过Binder远程通知AMS启动新的Activity。AMS进行一系列的权限判断,创建ActivityRecord记录信息,Activity栈处理….等等一系列处理,最后会调用到startSpecificActivityLocked方法中。...
2017-08-07 03:59:52
3142
原创 Binder解析
Binder解析一. 概述Binder作为Android中最主要的进程间通讯方式,它涉及到的主要有以下这几个方面Client端Service端ServiceManagerBinder驱动Binder通信采用了C/S架构,它和TCP/IP网络通讯有很多相似的地方。TCP/IP网络通讯最典型的一个过程(例如访问百度首页:)如下;Client端要访问一个域名,需要先访问DNS服务器查询域名对应
2017-07-01 19:45:22
424
原创 对称加密与非对称加密,以及RSA的原理
一 , 概述在现代密码学诞生以前,就已经有很多的加密方法了。例如,最古老的斯巴达加密棒,广泛应用于公元前7世纪的古希腊。16世纪意大利数学家卡尔达诺发明的栅格密码,基于单表代换的凯撒密码、猪圈密码,基于多表代换的维吉尼亚密码,二战中德军广泛使用的恩格玛加密机….但最终都找到了有效的破解算法。现代密码学的诞生标志是1977年1月由美国国家标准局公布的数据加密标准(Data Encryptio...
2017-03-10 06:22:32
28180
13
原创 Android中gradle和环境变量
一. Gradle为什么很多时候我们打开别人的项目,build的时候会卡住,build的很慢呢?首先讲一下,AS中的gradle有两个部分: 1. gradle : gradle是一个项目构建工具。可以在setting/Build/gradle设置。Gradle官网 2. gradle_plugin: 是由google提供的插件,方便构建Android应用。在你项目的主目录下有一个文件...
2017-03-10 00:43:21
1846
原创 Android中线程池的总结
关于线程池的总结1. 线程池的构造Android中线程池的使用源自于Java, Java中有一个接口叫做Executor, 而线程池是这个接口的一个实现类: ThreadPollExecutor,它的构造如下:ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,
2017-02-24 01:16:23
408
原创 Git命令的总结
引用: 廖雪峰的Git教程Git的安装Linux中sudo apt-get install gitwindows下配置gitgit config --global user.name "Your Name"git基础命令 命令 作用 git init 创建一个版本库 git status 查看工作区文件的状态 git add “文件全名” 添加一个修改到暂存区 g
2017-02-19 01:33:32
369
原创 Android下与Javascript的简单交互
一, 概述目前的很多的app都用了Java和H5混合开发的模式。 Hybrid App相比原生App,以及web App 有什么优势呢对于经常需要变化的页面,可以采用h5页面。 这样可以迅速进行开发,变更。 例如一些活动页面,而不会常变动的页面,原生开发可以提高页面流畅度和用户体验。对于一些图片很多,资源很多的页面,使用h5可以减小打包时的体积。从而在网络上加载。跨平台,h5开发的...
2017-02-19 01:22:59
371
原创 Android源码的下载
Android是一个开源的操作系统,所以我们可以下载到Android的源码来阅读。那么接下来我来讲讲如何下载Android的源码以及在下载中遇到的错误。首先安装git 和 curl工具 快捷键: ctrl + alt + T 调出控制台 输入以下命令 //安装git版本控制工具 sudo apt-get install git //安装curl sudo ap
2017-01-08 21:08:55
431
原创 从源码来一步一步解析Android中Handler消息机制
Android中的进程间通讯一. 概述在Android开发中, 我们经常需要从网络或者本地资源中拉取数据,然后在界面上显示出来。而Google为了保证App的流畅性, 在Android中做了限制, 不能在主线程中做耗时的操作,这样会导致界面失去响应,给用户带来不好的体验.。所以当在主线程中做耗时操作会可能导致抛出ANR异常。具体来说就是点击之后Activity中无响应超过5秒或者BroadcastR
2017-01-01 18:09:29
498
原创 AndroidStudio安装与Genymotion模拟器
AndroidStudio是Google推出的,为Android开发量身打造的IDE,基于IntelliJ IDEA,于2013年5月发布了第一个预览版本,目前发布的最新正式版是version:2.3版,在Google抛弃Eclipse之后全力推出的AS,毫无疑问是Android开发工具的未来。一:AndroidStudio的安装:1.下载:推荐去官网下载https://develop
2016-07-18 12:10:39
9929
明解C语言 第3版 入门篇(完整版带书签).pdf
2017-02-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人