37°青春

看庭前花开花落,望天上云卷云舒

Android进程启动流程

理解Android进程创建流程 理解Android进程启动之全过程 站在GITYUAN大神的肩膀上学习,用一张神图表示进程基本的启动流程. 上图还需对照源码进行查看,简述一下启动流程 在Android系统全貌描述到了Zygote孵化了第一个进程是system_server进程,而且孵...

2016-12-31 01:27:47

阅读数 544

评论数 0

Android中窗口的创建过程

从WindowManagerService的角度来看,标题中所说的“窗口”并非Window类,而是一个View类。Window类是一个顶级窗口外观和行为策略的抽象基类。它只是提供标准的UI策略,如背景,标题区域,默认键处理等。 窗口的类型Framework定义了三种窗口类型,三种类型的定义在Win...

2016-12-31 01:22:34

阅读数 506

评论数 0

Android系统全貌

转自Gityuan的Android开篇,对自我学习作进一步整理。 Android系统以Linux内核作为基底,上层采用Native层和Java层。系统分为内核空间和用户空间,并通过系统调用(Syscall)连通。用户空间主要采用C++和Java代码实现,通过JNI技术连通Java层和Na...

2016-12-27 10:25:25

阅读数 492

评论数 0

关于版本号讨论

通常情况下,都会采用语义版本号管理方式。如下: 语义版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。当代码变更时,版本号按以下原则更新。 如果只是修复bug,需要更新Z位。 如果是新增了功能,但是向下兼容,需要更新Y位。 如果有大变动,向下不兼容,需要更新X位。 ...

2019-01-28 10:59:07

阅读数 64

评论数 0

抽奖程序(React)

介绍 基于Ant Design组件库、Dva开发框架实现的一款抽奖App。 动画使用了react-particles-js 安装说明 cnpm i 或者 npm i (建议前者) npm run start npm run build 使用说明 点击主页面最左侧,弹出抽屉层,导入数据,或者修...

2019-01-20 12:16:47

阅读数 73

评论数 0

迟到的2018年终总结

2017年年底,Android需求骤然停止。 那段时间,我学习ReactNative,学习Python,购买了Android进阶的书籍,充实自己。 我感觉我在Android领域到达了一个瓶颈,突破不了自己。【只是自我感觉】 iOS小伙伴已然离职,我还是迷茫手足无措。技术更新迭代之快,无法想象。 2...

2019-01-03 15:44:50

阅读数 604

评论数 0

解决Ant Design的样式和CSSModules冲突问题

项目中样式采用CSS Modules的写法,构建之后会被重命名。如果项目中引入了Ant Design的样式,则会导致样式加载不到问题。 解决方式有两种: 打包后在html中重新引入antd.css文件。但是无法做到按需加载,且打包的css文件中存在多余的内容。 项目使用Dawn构建,配置webp...

2019-01-03 14:46:18

阅读数 322

评论数 0

Tapable.plugin is deprecated. Use new API on `.hooks` instead

安装extract-text-webpack-plugin后,使用webpack构建的时候出现如下错误: Tapable.plugin is deprecated. Use new API on `.hooks` instead 查阅Extract Text Plugin文档,其中已然说明: ...

2018-12-02 20:56:53

阅读数 90

评论数 0

roadhog代理无效问题解决

使用Dva初始化项目后,在roadhogrc.mock.js文件中默认配置代理如下: export default { "proxy": { "/api&quo...

2018-12-02 13:34:14

阅读数 294

评论数 1

排序算法学习

重拾算法:算法效率分析(一)(空间复杂度和时间复杂度) 详解算法的各种复杂度的差别有多大(带图) 算法复杂度 选择排序 简言之:从无序的列表中选择最小(最大)元素依次放到有序列表末尾。 每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据...

2018-11-23 14:50:34

阅读数 32

评论数 0

技术知识整理

MVC, MVP, MVVM 不同的开发模式适用不同的场景,在复杂的业务场景下,Activity作为Controller层,显得非常臃肿,代码量大,逻辑复杂。同时View与Model也存在直接的交互关系。 随之MVP诞生,Presenter层彻底将View与Model层隔离开来。当然需要编写大量接...

2018-10-30 21:29:16

阅读数 61

评论数 0

Context与Store结合

借助于context的跨级通信能力,可以将store管理数据的模式应用于每个组件当中。即将store通过context传递到子组件,一方面子组件可以通过store.dispatch()触发store中数据更新,另一方面子组件可以通过store.getState()方法获取最终的更新状态,刷新UI。...

2018-10-28 17:53:21

阅读数 79

评论数 0

React之Context

组件间通信大致有以下三种情况: 父组件向子组件通信 子组件向父组件通信 跨级组件通信 父组件向子组件通信 这是最常见的一种通信方式,即父组件通过props向子组件传递需要的信息。 子组件向父组件通信 利用回调函数可以实现通信,即父组件将一个函数作为 props 传递给子组件,子组件调用该回调函...

2018-10-28 17:02:26

阅读数 41

评论数 0

Refs

Refs提供了一种访问DOM节点或在render方法中创建的React元素的方法。 refs是React组件中非常特殊的props,可以附加在任何一个组件上。组件被调用时会新建一个该组件的实例,而refs就会指向这个实例。 在react\lib\ReactBaseClasses.js文件中,可...

2018-10-21 21:21:13

阅读数 65

评论数 0

exports 和 module.exports

在每个模块中,module变量表示当前模块的对象的引用。module实际上不是全局的,而是每个模块本地的。 创建foo.js文件 console.log(module); console.log('---------华丽的分割线----------') console.log(exports)...

2018-09-30 11:36:06

阅读数 31

评论数 0

《JavaScript高级程序设计》读书笔记(一)

JavaScript组成: 核心(ECMAScript) 文档对象模型(DOM) 浏览器对象模型(BOM) ECMAScript ,由ECMA-262标准定义,提供核心语言功能。JavaScript实现了ECMAScript,Adobe ActionScript同样也实现了ECMAScri...

2018-09-30 11:35:10

阅读数 40

评论数 0

JavaScript构造函数、对象、原型

对象不仅仅是字符串到值的映射,除了可以保持自有的属性,JavaScript对象还可以从一个称为原型的对象继承属性。对象的方法通常是继承的属性。这种“原型式继承”(prototypal inheritance)是JavaScript的核心特征. 创建对象三种方式 1.对象直接量 var ...

2018-06-28 14:18:54

阅读数 65

评论数 0

《Java多线程编程核心技术》(二)

非线程安全会在多个线程对同一个对象中的实例变量进行并发访问时发生。产生的后果是脏读,也就是取到的数据其实是被更改过的。 线程安全就是获得的实例变量的值是经过同步处理的,不会出现脏读的现象。 非线程安全问题存在于实例变量中,如果是方法内部的私有变量,则不存在非现场安全问题,所得的结果也就是线程安...

2018-06-08 17:17:57

阅读数 80

评论数 0

《Java多线程编程核心技术》(一)

public class Counter extends Thread { //构造方法在主线程中被执行 public Counter() { print("constructor begin")...

2018-06-07 16:39:21

阅读数 371

评论数 0

高阶函数

维基百科这样描述: 高阶函数是至少满足下列一个条件的函数: 1. 接受一个或多个函数作为输入 2. 输出一个函数 简言之,一个函数可以将其他函数作为参数或者返回值是函数,这个函数就是高阶函数。 JavaScript中的高阶函数 map 1. 定义:通过指定的函数去处理...

2018-05-28 18:20:57

阅读数 75

评论数 0

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