从invalidate分析view绘制流程

1.前言 关于view的绘制流程,现在网上一查,就会直接告诉你,view的绘制流程是先onMeasure,然后onLayout,在最后onDraw,没错,绘制流程确实也是这样。所以我们今天要讨论的话题除了那三大方法内部到底做了什么,还要知道这个流程是怎么来的。这样大家就会对view的绘制过程有一个...

2019-01-07 15:58:26

阅读数 253

评论数 0

JVM内存区域

简单概述JVM有哪些内存区域,以及他们的功能 主要是七个区域: 程序计数器 Java虚拟机栈 本地方法栈 Java堆 方法区 运行时常量池 直接内存 1.程序计数器 程序计数器是一块较小的内存区域,我们可以将它看作是一个记录当前代码运行到什么位置的行号指示器。 但是这个指示器并不是直接指定某行...

2018-11-27 15:02:05

阅读数 113

评论数 0

战略性了解WindowManager

什么是战略性了解:知其然,无需知其所以然,也就是知道整体结构框架即可,不追根内部具体实现。

2018-11-19 11:53:53

阅读数 125

评论数 0

Android Studio上的代码折叠

折叠格式: // region [描述] // // endregion 如图: IDEA系列的软件估计都有这个功能

2018-11-14 11:10:55

阅读数 286

评论数 0

setContentView的时候,到底发生了什么

关于setContentView方法,想必大家对这个方法既熟悉又陌生,熟悉的原因是因为基本上我们每创建一个activity,都会调用这个方法,比如: ``` @Override protected void onCreate(Bundle savedInstanceState) { su...

2018-11-12 18:10:23

阅读数 389

评论数 0

从源码角度深入探寻Scroller的奥秘

前言 给未使用过scroller的人说的话: Scroller是一个跟滑动有关的类(大家都这么说(大家:我不承认!

2018-10-25 19:39:07

阅读数 947

评论数 5

从小白角度探索Android事件分发机制

概念 所以我们要开始讲解事件分发机制了,说到事件分发机制,这个知识点主要是在自定义view的时候用到,那么什么是事件分发机制呢。 这里我用大白话概述一下:当我们在自定义view的时候,或者在使用某个控件的时候,在给这个view或者控件设置事件的时候,比如有setOnTouchListener、...

2018-10-17 17:18:57

阅读数 478

评论数 4

Android绘制波浪线 进阶

前言 在我的上一篇博客中,我讲解了如何绘制一条波浪线,今天我们的目的是,绘制一条随心所欲的波浪线,什么叫随心所欲的波浪线呢,由于上篇主要讲解的是绘制波浪线的原理,不过就有人提问了,万一我想要的波浪线长度小于屏幕长度怎么办,那么今天我们就来讲解下,怎么绘制一条长度可以自己把控的波浪线,先来效果图吧...

2018-09-21 14:53:30

阅读数 564

评论数 0

Android之Shader完全理解指南

Shader,中文翻译着色器,老是说,我的专业不是图像处理之类的,所以我也不清楚着色器到底是干嘛的,如果非要我在字面上加以理解,通俗就是给某个机器拿着一直画笔在白纸上画东西,而这个机器就叫着色器,我也不知道这样理解对不对,但是这些概念和东西,都不会影响今天我们要学习的内容,着色器Shader。 ...

2018-09-21 10:18:44

阅读数 674

评论数 4

EasySQL 轻松上手的数据库框架

EasySQL是由我独立开发的一款操作数据库的框架,特点是上手容易,使用简单。 目前版本是 v0.1.3 那么我就开始了,这款框架目前已有的功能如下: 创建数据库 删除数据库 创建表 增删改查 数据库自动升级 平时不怎么鼓捣数据库的,用数据库的时候,...

2018-09-17 17:49:00

阅读数 262

评论数 0

Android数据库使用指南(下)

上一节中,我们将到了怎么创建一个数据库,以及对数据库中对表中的数据,进行增删改查,主要操作的对象是表中的数据,这一章,我们将会讲解怎么对数据库中对表进行操作。 那么表可以做那些操作呢,比如删除表啊,修改表中的某个字段啊,新增表中的字段啊,总之就是数据库中的表,发生变化,除了刚刚说的那些变化,新增...

2018-09-14 10:57:07

阅读数 129

评论数 0

Android数据库使用指南(上)

无论如何,我决定写一篇跟数据库有关的博客,虽然早就想写了,但是还是推到了现在。 前言 Android上的数据库是sqlite,虽然这个数据库是轻量级的,但是储存的东西可不少,sqlite官方表示理论存储容量为140TB,目前应该没有那么大容量的手机,存储能力太强了。 关于如何使用SQ...

2018-09-12 16:34:45

阅读数 715

评论数 0

Python爬取网页数据

都说python爬网页数据方便,我们今天就来试试,python爬取数据到底有多方便 简介 爬取数据,基本都是通过网页的URL得到这个网页的源代码,根据源代码筛选出需要的信息 准备 IDE:pyCharm 库:requests、lxml 大概介绍一下,这俩库主要为我们做什么服务的...

2018-08-29 17:20:35

阅读数 7467

评论数 2

如何撸一个ArrayList

起因 前段时间在看一本书码农翻身。这本书很不错,推荐阅读!(真不是打广告,好书要分享)。老实说,在此之前,这是一个公众号(好吧,现在也是),里面写了很多通俗易懂的文章,没想到最近居然出书了,赶快买了一本,一通畅读之后,在书中其中一章看到了一些有意思的事情。 大意就是,他写了一个List的接口,...

2018-08-10 17:42:58

阅读数 176

评论数 2

Android相机屏幕适配

前言 本文默认你已经会的Android相机开发,但是苦恼于相机屏幕适配 如果不会相机开发,可以参考以下作者的文章: Tong ZHAN Android相机开发(一):最简单的相机 Android相机开发(二): 给相机加上偏好设置 Android相机开发(三): 实现拍照录像和查看 ...

2018-07-11 14:17:56

阅读数 731

评论数 0

Tinker关于clean后准基包消失的解决方案

如果你还不会使用Tinker,可以参考这篇文章 在使用Tinker的时候,当我们使用assembleRelease或者assembleDebug对项目进行编译对时候,会在/app/build/bakApk下生成编译好的文件,我们制作补丁也是基于这些文件,但是由于是在build目录下,所以当我...

2018-07-10 09:51:53

阅读数 195

评论数 0

Tinker使用指南

随着技术的发展,我们来到了热修复时代,网上一大堆关于热修复的文章和框架,相信能来到这里,你也知道什么叫热修复吧,让我用通俗的语言给大家定义一个概念: 热修复就是在无需重新安装应用的情况下,修改目前存在的bug,或者新增功能 这样讲是不是蛮好理解的。 然后我们再众多热修复框架中,选择Tinke...

2018-07-04 17:25:56

阅读数 633

评论数 0

git分支的使用

今天我们来说说git分支有关的知识 前言 我们使用git作为我们的代码版本控制,如果一直一个人开发,可能会一直一条线式的形成一个线性提交,比如这样: 但其实一个项目一般提交的状况都很忐忑,可能长这样 还有更复杂的: 相信看到这里到你,早已眼花缭乱,分到清楚吗,这么复杂。一...

2018-07-02 17:09:23

阅读数 2050

评论数 0

如何将Android studio中的项目导入到第三方的git托管库中

准备工具 git 我们需要在git官网下载最新的git工具,并且将其配置到环境变量中 第三方代码托管的网站 如GitHub,coding,码云等 本篇文章我将以coding作为例子 新建项目 假设此时你已经下载并安装好了git,也在coding上注册了账号。 那我们点击c...

2018-05-24 11:32:48

阅读数 356

评论数 0

遍历矩阵

记录一个小算法,打印矩阵 假设我们有一个矩阵 int [] arr = { 1,2, 3,4, 5,6 } 如果我们要一排一排的打印: 则: for (int i = 0; i < 3; i++) { for (int j...

2018-04-24 14:23:56

阅读数 564

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭