9 chunqiuwei

尚未进行身份认证

提高技术

等级
TA的排名 2k+

Flutter之Element Tree的构建过程详解

知识储备:Flutter之BuilderContext和Widget关系浅析Fultter之Element和Widget对应关系解析今天来详细谈谈Flutter的Element,了解了Element,Flutter的一些概念和框架就是“程序员头上的虱子,一眼看透了”(这他娘的什么比喻),话不多说,赶紧上车!在我们使用Flutter开发的时候常用的就是各种Widget,那么Element是什...

2019-11-09 09:11:42

Flutter之GlobalKey详解

博主打算通过登录功能来总结一下Flutter的相关知识点。为什么选择登陆功能呢?因为登录功能逻辑简单,很好抽象,功能也很普遍,这也是博主以此为突破口写androidMVC和MVP探讨的原因。本系列应该不长,初步估计也就三篇左右,通过层层递进,慢慢地会勾勒出一个完整的登陆功能的demo,demo的源码点此可得。俗话说站在巨人的肩膀上成长的更快,当然这个俗话是我瞎篇水字数的,本系列博文的重要参考资料...

2019-11-02 08:01:06

Java线程拾遗(可重入锁)

对于锁的可重入锁来说,意味着某线程获取锁之后,该线程就可以进入任何一个该锁所同步着的代码块!!!先举一个反面例子,非可重入锁!Java提供的sun.misc.Lock就是典型的非可重入锁。通过其源码可以看出来:public class Lock { private boolean locked = false; //获取锁,获取成功之后设置locked=true public final...

2019-10-30 10:56:26

SwipeToLoadLayout源码解析

前言关于自定义View,对于Android面试来说几乎是必问的。其实关于自定义view这个问题其实就是想问你就是Android的测量,布局以及绘制的流程,这个问题如果经常研究Android一些view的源码的话,其实也很容易,比如LinearLayout的布局或者一些第三方控件,自定义view根据功能和需求和话可能会涉及到测量,可能会涉及到layout,也可能会涉及到onDraw,全看需求...

2019-10-28 10:52:51

ThreadLocal原理浅析

ThreadLocal即线程局部变量的意思!所以什么是线程局部变量?这玩意有什么鸟用?是不是面试被问到了说不出个一二三?今天就来扒一扒这货的源码,从根本上了解这货是干啥的。其实研究下来他的源码实现,其实也没想象的那么复杂,其最主要有以下几点:1、每一个Thread对象都有一个ThradLocalMap实例dfadfadf参考资料:ThreadLocal源码分析...

2019-09-10 17:56:47

java线程知识点拾遗(排队CAS)

在java线程知识点拾遗(CAS)这篇文章中简单的介绍了cas的概念,但是普通的cas是有一个非公平的问题,多个线程需要共享资源的时候可能造成忙等待问题,一言以蔽之就是可能后请求共享资源的线程可能比先请求资源的线程优先获取到资源。用个例子来说明cas的非公平性,代码如下:public class UnFairCasLock implements Runnable { private Atom...

2019-08-28 15:16:52

java线程知识点拾遗(CAS)

CAS:简单的来说就是比较交换!那么比较的是什么?交换的又是什么呢?CAS有三个操作数,V,A,B。要比较的就是V和A,当V和A相等的时候,就将V的值更新为B.感觉就像“天王盖地虎”对“小鸡炖蘑菇”一样,暗号对上了(V==A)就可以进行下一步的操作(更新)了上面这段描述可以简单的伪代码表示为:if(V==A){ V=B;}当然这并没有体现出自旋的特性,将上面的这段伪代码用一个方...

2019-08-19 15:33:00

java线程知识点拾遗(1)

作为一个android开发者的我来说,面试最怕问的问题就是问多线程方面的,问之必死~~。因为android monkey在开发中多线程开发的场景使用起来几乎没有,所以就滋生了自己的懒惰性,人家说哪里跌倒哪里爬起来,这工作几年了也没爬起来,有点小羞愧。于是准备抽点时间好好研究下这个东东。不要逼我,逼急了我什么都能做出来! 来来来,现场手写一个自旋锁出来试试!卒!在多线程的编程中,如果需要加锁的情...

2019-08-12 15:44:33

Android签名机制学习笔记

参考资料Android签名机制之—签名过程详解HTTPS演化过程android的签名,说来惭愧;接触android这么长时间了,对其原理如果口述的话还不能说出个一二三来,所以用此篇博文做一个学习笔记。我们知道非对称加密中可以有两种:一种就是公钥加密,私钥解密。另外一种就是私钥加密,公钥解密。其中前者主要用于通信,后者主要用户验证签名。而后者即私钥加密,公钥解密其实就是android签名的主要...

2019-07-31 19:48:53

Android保活实现方案梳理

参考资料:gitbub上的一个进程保活的库安卓进程保活解决方案Android进程保活招式大全最近查看进程保活的各种资料,实现方式无非就那么几种,可以参考上面的资料链接,本篇博文对这些实现进行了分析和测试,并把从中体会到的知识点做个总结汇总,算是加深相关知识的理解。1像素Activity该方案适用场景:本方案主要解决第三方应用及系统管理工具在检测到锁屏事件后一段时间内会杀死<fo...

2019-07-19 10:42:10

EasyPermissions源码浅析

关于android权限请求的文章和资料网上比比皆是,博主就github的一个开源框架EasyPermissions来分析该框架的代码设计以及实现原理。博主研读完该框架的倒是体会到了不少的东西,现在尽可能多的分享出来其中所得。研究android的源码可以发现,不论是Activity还是Fragment,或者androidx的Fragment,这几个组件都有关于权限验证的下面三个方法:andro...

2019-07-11 14:50:32

Error while executing: am start -n错误解决方案

今天真机运行项目发现报了这个错误:Errorwhileexecuting:amstart-n"pagekageName/pagekageName.ac.WelcomeActivity"-aandroid.intent.action.MAIN-candroid.intent.category.LAUNCHERStarting:Intent{act=android.int...

2019-07-05 16:24:01

Flutter之Stepper源码浅析

在博客《Flutter之Stepper简单应用》一文中简单介绍了Stepper的使用方法,现在趁热打铁,就其实现原理来解析一波,算是加深对Flutter相关知识的学习。在开篇之前需要简单的了解Flutter的如下知识储备:Row组件:用来水平排列一个布局Column组件:用来竖直排列一个布局。下面就来详细分析Stepper的实现原理,我们知道Stepper运行效果如下所示(图1):观察...

2019-06-27 15:27:46

Flutter之Stepper的简单使用

Stepper组件展示了一些列的步骤。这个组件可以让我们处理这样的逻辑:让前一步(step)完成的时候,下一个步骤(step)才能开始的一系列相关的事件,其运行效果。可能描述的不是太清楚,具体效果可以看官网给的例子图片:在这里就详细的说一下Stepper组件的用法:每一个步骤(step)都有如下的状态(StepState):...

2019-06-19 14:37:37

Flutter之CupertinoSwitch和Switch开关组件的简单使用

本片博文没啥技术含量,就是简单的介绍一下CupertinoSwitch组件的使用方式。先来看看具体的运行效果:单从运行效果来看我们可以知道:1、CupertinoSwitch可以自主设置打开状态的颜色,比如上图中的绿色和蓝色2、可以控制开关是否能用下面来看看具体的设置,CupertinoSwitch有三个属性:value:布尔类型的值,true表示打开开关,false表示关闭开关a...

2019-06-05 16:11:08

八皇后算法解析

今天研究力扣的一道题死活写不出来对应的算法,没办法自己算法基础太差。于是看了下答案,发现使用什么回溯算法,菜鸟表示平时开发期间写的最复杂的程序就是写了两层for循环,已经很牛逼了有木有?这个回溯算法什么鬼?于是乎百度了下,算是了解了回溯算法是什么玩意儿。这里分析一波八皇后算法来加深一下理解。https://blog.csdn.net/microopithecus/article/details/...

2019-05-13 11:07:37

PMP学习所得

之所以写这篇博文,是因为通过PMP的学习过程中着提高了一些认识,总结下来作为自己的经验亦或是组织过程资产。当初想考PMP证纯碎是一时的脑袋发热,都没来得及仔细想为啥自己要考,考了以后干什么。总之就是没有这方面的规划,然后脑袋一热就网上搜搜相关备考方法,然后就报了个培训班准备6月22号的考试,当真是势如破竹,一气呵成!学习的心得体会:1、实拓展了眼界:因为之前从来没想过一个项目或者一个项目经理...

2019-05-10 11:48:12

Flutter之播放视频

通过本篇博文你可以了解如下知识点:1、VideoPlayerController播放视频的简单使用2、Flutter状态理念认知的巩固3、AspectRatio的简单使用本篇博文demo的功能(demo源码点此查看):1、加载播放视频,并且点击视频区域可以对视频start/pause2、网络状态发生变化的时候相关处理:当是wifi状态下直接播放视频,当断网的时候暂停视频播放,并且显示一...

2019-04-29 16:21:02

Flutter监听网络变化

写完了监听网络变化的demo,发现其实代码很短,但是涉及到的知识点却是很多:比如Stream,异步生成器,yield,async*和async的区别,Future等关于Dart的基础知识。在这里暂且为了博文不跑题不会做多说明(有些我还没研究呢,写了怕打脸),后面会专门写关于Stream的博客。不了解童鞋可以参考博文后面的资料。闲言少叙书归正传:监听网络变化需要引入connectivity库,具...

2019-04-22 18:38:25

Fultter异步的简单应用

参考资料:Flutter–Dart中的异步flutter实战5:异步async、await和Future的使用技巧在Flutter中发起HTTP网络请求Dart语言简介博客demo源码传送门知识储备:Flutter的异步操作我们可以使用Future完成,一个Future可以用来获取将来某个时候可用的值这个值可以是正确的值,也可能是异步任务出错返回的错误的值,比如官方给我demo就可以...

2019-04-19 18:29:32

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。