Android开机动画分析 Android开机动画分析
开机动画系统会按照下面的顺序选择一个开机动画资源(一个zip文件,比如bootanimation.zip): /system/media/bootanimation-encrypted.zip (if getprop("vold.
2020-06-12
Android系统启动流程分析 Android系统启动流程分析
Boot ROM当按下电源键,硬件上电之后,会从一个固定的内存区域读取程序.这个程序是烧写到硬件上的(ROM),用于将bootloader加载到RAM中,并开始执行它. bootloaderbootloader用于告诉设备如何找到系统内核,
2020-06-12
近期学习计划 近期学习计划
6月学习计划
2020-05-30 姜康
GN构建C++项目之HelloWorld GN构建C++项目之HelloWorld
使用Google的gn工具构建C++项目,但是官方的demo构建脚本还是不够简单,这里写一个最简单的构建结构. 目录结构 必要的几个文件 .gn 根目录下的BUIlD.gn BUILDCONFIG.gn .gn# gn help dotf
2020-05-29
CMake的简单使用 CMake的简单使用
构建可执行程序add_executable( [WIN32] [MACOSX_BUNDLE] [EXCLUDE_FROM_ALL] [source1] [source2 ...])
2020-05-25
ModernC++的一些特性 ModernC++的一些特性
Modern C++Modern C++指的是C++11/C++14/C++17/C++20等版本,新增和改进了C++语法,提升开发效率. nullptrnullptr是用来替换NULL的 constexpr常量表达式 constexpr
2020-05-23
Skia的编译 Skia的编译
源码地址https://github.com/google/skia https://skia.googlesource.com/skia 这两个都可以,如果不能科学上网,建议使用github上的镜像. 编译bin/gn gen out/S
2020-05-18
调试flutter_tools 调试flutter_tools
在运行flutter命令的时候,比如flutter run,实际上执行的是flutter_tools.snapshots,而这个快照文件的源码入口就是flutter_tools.dart. 既然是普通的dart命令行程序,那么按照Dart命
2020-05-15
Java中的Lock Java中的Lock
Java 中保证线程安全,操作同步的方法有很多种,比如: 使用synchronized关键字 使用Lock的实现类 其中synchronized属于语言级别的处理,无需我们去处理细节,而Lock则是一个接口,我们可以自定义Lock或者使
2020-05-15
Java中的Map Java中的Map
哈希表/散列表 通俗的说就是,使用散列函数将key值映射到数组下标,这样就可以根据key值直接访问到元素存储位置,这种结构就叫哈希表(散列表)。 将key值映射到数组下标的函数就做散列函数,这个映射过程是一个key值压缩的过程,因而不可避
2020-05-15
Java中的List Java中的List
List ArrayList通过动态数组存储数据的,数组默认长度为10,实际使用过程中可以通过trimToSize()方法剪裁到实际的list大小。 ArrayList是线程不安全的; ArrayList由于通过数组索引定位,所以查找效率比
2020-05-15
Java队列 Java队列
先来看一下Queue的定义: public interface Queue<E> extends Collection<E> { //插入成功返回true,如果容量不足,抛出异常 boolean add(
2020-05-15
Gradle读取配置文件 Gradle读取配置文件
gradle中使用了gradle.properties和local.properties文件. build.gradle 可以直接获取同级目录和上层目录的properties文件. 如果properties文件在其他目录,或者不是.prop
2020-05-15
Golang语法快速入门 Golang语法快速入门
if/else 变体if statement; condition { } if condition{ } switchswitch 下的每个case不必带break,匹配到了某个case之后会自动跳出. 可以使用fallthro
2020-05-09
Flutter-Text的使用 Flutter-Text的使用
关注 https://github.com/jiangkang/flutter-system 了解更多Flutter相关的知识 文本作为UI最基本的元素,最基本的用法有这些: 字体 文字大小、颜色 一些常用样式,比如倾斜,加粗,下划线
2020-05-08
Flutter-Tabs的使用 Flutter-Tabs的使用
Flutter中使用tabs还是非常的简单的,可以用在顶部导航栏,也可以用在底部导航栏。 使用Tabs需要用到两个widget,一个是TabBar,用于顶导航或者底导航;一个是TabBarView,用于Tab下具体的
2020-05-08
Flutter时间处理 Flutter时间处理
Flutter 中在时间处理方面还是比较简单的,我们主要用到的有两个类: DateTime 表示一个指定的时间点,包括年月日时分秒 TimeOfDay 表示一天中的一个时间点,可以区分上午,下午,12小时制,24小时制等 获取当前时
2020-05-08
Dart基础语法 Dart基础语法
重要的概念 任何你可以放在一个变量中的都是一个object,并且每个object都是一个class的实例,甚至于数字,functions,null都是对象,所有的对象继承自Object类。 即使Dart是强类型的,但是类型说明是可选的,因为
2020-05-08
2 / 3