- 博客(25)
- 收藏
- 关注
原创 Android/Activity启动流程相关知识点串通
init进程是Linux系统中用户空间的第一个进程;引导程序是在Android操作系统开始运行前的一个小程序。引导程序是手机开机运行的第一个程序;Zgyote是Android中的第一个art虚拟机;System Server 是Zygote fork 的第一个Java 进程;............
2022-06-18 16:25:15 648
原创 kotlin协程使用笔记
简介:协程相对独立,有自己的上下文,由自己控制切换。协程的切换在用户态完成,不涉及内核操作,相比线程的用户态内核态切换开销更小。协程是一个可以挂起的特殊函数,当前协程被暂停后可以选择切换到其它协程执行,并等待其它协程任务结束后再切回来继续执行(代替回调)。一个线程可以有多个协程,通过分时复用的方式进行切换。一个线程内的多个协程是串行执行的。协程可以通过suspend关键字来标志耗时操作。创建协程RunBlocking:使用:runBlocking { log("runBlock
2022-04-15 22:25:05 2574
原创 jetpack原理分析(lifecycle、viewmodel、livedata小结)
lifecycle、viewmodel、livedata原理小结~
2022-04-02 20:02:06 630
原创 C++学习笔记 入门篇 - 11 (完结)
前言本系列内容为程序媛学习C++时做的笔记。以代码为主,并备注了打印结果以及详尽的解释注释。希望对你有所帮助。nullptrC++11后的特性。nullptr 出现的目的是为了替代 NULL。 同时拥有更多的特性 例如:可以调用到指针参数的函数。void test(int i) {}void test(int *i) {}void nullptrTest() { test(8);//调用test(int i) test(NULL);//调用test(int i)
2021-04-15 23:06:30 88
原创 C++学习笔记 入门篇 - 10
前言本系列内容为程序媛学习C++时做的笔记。以代码为主,并备注了打印结果以及详尽的解释注释。希望对你有所帮助。引用关系修改右值#include <iostream>using namespace std;class Person { string name = "zhang";//旧变量public: string getName() { //getName函数的name 与 main函数世界得到的name 是新旧两个变量而已,他们是值传递,所以右
2021-04-07 16:55:15 84
原创 C++学习笔记 入门篇-9
前言本系列内容为程序媛学习C++时做的笔记。以代码为主,并备注了打印结果以及详尽的解释注释。希望对你有所帮助。函数适配器bind1st:绑定固定值到二元函数的第一个参数位置。bind2nd:绑定固定值到二元函数的第二个参数位置。#include <iostream>#include "set";#include "algorithm"; //find_if/equal_to是算法包的using namespace std;int main() { set<st
2021-04-02 15:50:12 101
原创 C++学习笔记 入门篇-8
前言本系列内容为程序媛学习C++时做的笔记。以代码为主,并备注了打印结果以及详尽的解释注释。希望对你有所帮助。Map#include <iostream>#include <map>using namespace std;int main() { //map会对key进行排序(对value不会) map<int, string> mapVar; mapVar.insert(map<int, string>::value_
2021-03-31 20:52:58 96
原创 C++学习笔记 入门篇-7
前言本系列内容为程序媛学习C++时做的笔记。以代码为主,并备注了打印结果以及详尽的解释注释。希望对你有所帮助。Vectorvector : 向量 容器 (内部:封装动态大小数组作为容器,能够存放任意的动态数组【数据结构】)#include <vector>vector<int> v1;vector<int> v2(10);//指定10的空间大小vector<int> v3(10, 0);//大小为10,并指定每个值为0//迭代器 v1.b
2021-03-29 20:36:08 111
原创 C++学习笔记 入门篇-6
前言本系列内容为程序媛学习C++时做的笔记。以代码为主,并备注了打印结果以及详尽的解释注释。希望对你有所帮助。多态动态多态:虚函数:动态多态(程序的角度上:程序在运行期间才能确定调用哪个类的函数 == 动态多态的范畴)#include "iostream"using namespace std;class Animal {public: virtual void eat() { cout << "Animal eat food" << en
2021-03-25 16:15:52 144 1
原创 C++学习笔记 入门篇-5
前言本系列内容为程序媛学习C++时做的笔记。以代码为主,并备注了打印结果以及详尽的解释注释。希望对你有所帮助。对象继承#include <iostream>using namespace std;class Animal {private: char *name;public: Animal(char *name) { this->name = name; } void printName() { cout << nam
2021-03-22 21:23:29 102
原创 C++学习笔记 入门篇-4
前言本系列内容为程序媛学习C++时做的笔记。以代码为主,并备注了打印结果以及详尽的解释注释。希望对你有所帮助。可变参数#include <stdarg.h> // 可变参数的支持void sum(int count, ...) { va_list list;//可变参数的动作 //va_start参数1:可变参数开始的动作 //参数2:内部需要一个存储地址用的参考值,如果没有,内部它无法处理存放参数信息。 va_start(list, count);
2021-03-18 19:08:26 121
原创 C++学习笔记 入门篇-3
前言本系列内容为程序媛学习C++时做的笔记。以代码为主,并备注了打印结果以及详尽的解释注释。希望对你有所帮助。深拷贝/浅拷贝举例1#include<iostream>#include<string.h>using namespace std;class Student2 {public: int age; char *name; Student2() { cout << "空参数构造函数" << endl; }
2021-03-18 19:03:17 84
原创 C++学习笔记 入门篇-2
前言本系列内容为程序媛学习C++时做的笔记。以代码为主,并备注了打印结果以及详尽的解释注释。希望对你有所帮助。ps:如果没有C语言或C++的基础,建议从这篇文章看起。命名空间:namespace#include <iostream>// 声明std,我们的main函数就可以直接使用里面的成员,不需要使用 std::using namespace std;namespace sun { char *name; void show() {} names
2021-03-12 19:56:02 150
原创 C++学习笔记 入门篇-1
前言本系列内容为程序媛学习C++时做的笔记。以代码为主,并备注了打印结果以及详尽的解释注释。希望对你有所帮助。ps:如果没有C语言或C++的基础,建议从这篇文章看起。第一个demo#include <iostream>//c++标准支持using namespace std;//命名空间 C++的特性(类似java的内部类)int main() { // C++语言面向对象 + 标准特性 // C语言面向过程,函数+结构体 // C++里面可以运行C语
2021-03-10 20:42:40 207 3
原创 C语言学习笔记 入门篇-7(完结)
前言本篇学习文件的读写和文件的加解密,结构体相当于java里面的类。PS:本系列内容为程序媛学习C语言时做的笔记。以代码为主,并备注了打印结果以及详尽的解释注释。希望对你有所帮助。C语言笔记入门篇包含多篇内容,当前位置:第七篇,也是本系列最后一篇。C语言并不可怕,请沉下心来,耐心就有收获。几个函数函数名: fopen功 能: 打开一个流用 法: FILE *fopen(char *filename, char *type);参数:1:文件路径 文件源2:模式 r(读) w(写)
2021-03-09 17:45:23 232 3
原创 C语言学习笔记 入门篇-6
前言本篇学习结构体和枚举,结构体相当于java里面的类。PS:本系列内容为程序媛学习C语言时做的笔记。以代码为主,并备注了打印结果以及详尽的解释注释。希望对你有所帮助。C语言笔记入门篇包含多篇内容,当前位置:第六篇C语言并不可怕,请沉下心来,耐心就有收获。结构体定义与使用#include <stdio.h>#include <string.h>struct Dog { char *name; char color[10]; int age;
2021-03-08 09:58:28 132
原创 C语言学习笔记 入门篇-5
前言本篇内容为两道练习题,以加强对前面四节课的巩固。PS:本系列内容为程序媛学习C语言时做的笔记。以代码为主,并备注了打印结果以及详尽的解释注释。希望对你有所帮助。C语言笔记入门篇包含多篇内容,当前位置:第五篇数组题目:求printf的输出结果#include <stdio.h>int main() { int a[] = {6,4,8,3,1,2,9,7,0,5}; // *(a+4)部分:a指向首元素地址 挪动到 第四个元素 *取出第四个元素内存地址的
2021-03-08 09:38:36 127
原创 C语言学习笔记 入门篇-4
前言本系列内容为程序媛学习C语言时做的笔记。以代码为主,并备注了打印结果以及详尽的解释注释。希望对你有所帮助。C语言笔记入门篇包含多篇内容,当前位置:第4篇C语言并不可怕,请沉下心来,耐心就有收获。char str[]和char * strchar str[] = {'s', 'u', 'n', 'H', 'L', '\0'};//加\0是因为printf遇到\0才会打印结束,否则会打印系统值。str[0] = 'S';printf("方式1 改变后:%s\n", str);//打印 Sun
2021-03-04 15:26:25 375 1
原创 C语言学习笔记 入门篇-3
前言本系列内容为程序媛学习C语言时做的笔记。以代码为主,并备注了打印结果以及详尽的解释注释。希望对你有所帮助。C语言笔记入门篇包含多篇内容,当前位置:第二篇C语言并不可怕,请沉下心来,耐心就有收获。C中的布尔非0即true,只有0是false//0.0 = 0 = false;//-1 = 888 = true;if (0) { printf("--");} else { printf("==");//走这}静态/动态开辟内存(malloc)#include &
2021-03-04 15:21:47 240 3
原创 C语言学习笔记 入门篇-2
前言C语言笔记入门篇包含多篇内容,当前位置:第二篇注:本篇内容较第一篇过多,沉下心来,耐心就有收获。多级指针void pointerTest() { int i = 100; int *i_p = &i;//取出i的内存地址,赋值给i_p(一级指针) int **i_pp = &i_p;//取出i_p的内存地址,赋值给i_pp(二级指针) int ***i_ppp = &i_pp;//三级指针 int Q = *i_ppp;//取出三
2021-03-04 15:03:22 232 3
原创 C语言学习笔记 入门篇-1
C语言学习笔记 入门篇-1前言C语言入门篇笔记包含多篇内容,当前位置:第一篇两值交换int t1 = 100;int t2 = 200;change(&t1, &t2);int change(int *i, int *j) { int temp = *i; *i = *j; *j = temp;}printf占位符void printTest() { int i = 100;//%d double d = 200;//%lf
2021-03-04 14:28:34 234 2
原创 singleTask和startActivityForResult的纠葛(activity的重建/onActivityResult回调为0)
问题验证:1.startActivityForResult打开singleTask模式的活动,singTask失效。(见Action2)2.singleTask模式的活动startActivityForResult,onActivityResult会立即执行。(见Action6)验证过程两个activity,activity1和activity2,分别设置不同的启动模式(standard ...
2020-04-21 20:49:59 615
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人