金溪的博客

好的开始是成功的一半,不要制定太长远的目标,同时不以战术的勤奋掩饰战略的懒惰,复杂思考简易行事,分而治之降低压力,以概率面对生活,时刻保持头脑清醒,防人之心不可无,广交慎择,顺其自然,近贤远佞,源代码...

Android Activity和Fragment之间的跳转方式

预备知识 Fragment必须嵌入到Activity中, 当Activity暂停时, 其中的所有片段也会暂停, 当Activity被销毁时,所有片段也会被销毁. 不过, 当Activity正在运行时,可以独立操纵每个Fragment, 如添加或移除它们. 当执行此类Fragment事务时, 也可...

2019-03-22 13:45:42

阅读数 19

评论数 0

android:descendantFocusability

该属性是当一个view获取焦点时, 定义ViewGroup和其子控件两者之间的关系, 属性的值有三种: (1) beforeDescendants: viewgroup会优先其子控件而获得焦点. (2) afterDescendants: viewgroup只有当其子类控件不需要获取焦点时才获...

2019-03-22 10:42:53

阅读数 32

评论数 0

android:layout_weight

只有在LinearLayout时, 该属性才有效. android:layout_weight的真实宽度=android:layout_width+占比的剩余空间 例如: 设屏幕宽度为L, 在两个view的宽度都为match_parent的情况下,原有宽度为L, 两个view的宽度都为L. ...

2019-03-21 07:52:53

阅读数 5

评论数 0

android:layout_gravity和android:gravity属性的区别

gravity的中文意思就是"重心", 就是表示view横向和纵向的依靠位置. android:gravity 是对view控制本身来说的, 是用来设置view本身的内容应该显示在view的什么位置, 默认值是左侧. 也可以用来设置布局中的控件位置 . android:l...

2019-03-21 07:29:58

阅读数 8

评论数 0

android webview加载网页不显示图片问题

android webview从Lollipop(5.0)开始webview默认不允许混合模式, https当中不能加载http资源, 而开发的时候可能使用的是https的链接, 但是链接中的图片可能是http的, 所以需要设置开启. if (Build.VERSION.SDK_INT &am...

2019-03-20 09:27:13

阅读数 23

评论数 0

Android WebView设置图片自适应屏幕

从网上查找资料,发现有多种方式, 我用了其中最简单的方式: 使用java.lang.String的replace方法, ontent = content.replace("<img", "<img style="max-wi...

2019-03-20 09:23:37

阅读数 18

评论数 0

linux 安装DataGrip

1.通过官方下载linux版本的安装包 2. 将"0.0.0. account.jetbrains.com"添加到/etc/hosts中, 主要是为了避免联网时注册失效. 3. 浏览器打开http://idea.lanyus.com, 点击页面中的"获取注册码&q...

2019-03-19 15:21:08

阅读数 37

评论数 0

linux cgroup_init_early

cgroup 实现进程组,分配或限制进程组使用的资源(这部分主要由各个subsystem完成)。 另一个角度,在研究代码的时候,我们更愿意将cgroup理解为一种控制资源的行为。比如:我想控制进程的CPU使用率为20%,那么我可以创建一个cgroup,这个cgroup的作用就是控制指定进程的c...

2019-03-18 10:40:29

阅读数 13

评论数 0

linux debug_objects_early_init debug_objects_mem_init

函数在文件linux/lib/debugobjects.c中 static struct debug_bucket obj_hash[ODEBUG_HASH_SIZE]; static struct debug_obj obj_static_pool[ODEBUG_POOL_SIZE] _...

2019-03-18 09:25:21

阅读数 8

评论数 0

linux smp_setup_processor_id

smp模型指的是对称多处理模型(Symmetric Multi-Processor),与它对应的是NUMA非一致性存储访问结果(Non-Uniform Memory Access)和MPP海量并行处理结构(Massive Parallel Processing)。它们的区别分别在于,SMP指的是多...

2019-03-18 08:51:07

阅读数 10

评论数 0

linux init_task描述符

内核中init_task变量是进程0使用的进程描述符,也是Linux系统中第一个进程描述符。 smp amp bmp 非对称多处理(Asymmetric multiprocessing) 每个CPU内核运行一个独立的操作系统或同一操作系统的独立实例 对称多处理(Symmetric m...

2019-03-15 14:17:19

阅读数 18

评论数 0

linux EXPORT_SYMBOL

查看linux/export.h文件: struct kernel_symbol //内核符号结构 { unsigned long value; //该符号在内存地址中的地址 const char *name; //该符号的名称 }; 预备知识: 1、#运算符,##运算符 通常在宏...

2019-03-14 09:41:01

阅读数 20

评论数 0

linux内核中的汇编语言

Intel 和AT&T 汇编语言源代码主要采用两种语法:AT&T语法和Intel语法,尽管它们都属于第二代语言,但是二者的语法却存在巨大的差异。AT&T汇编语法以%作为所有寄存器名称的前缀,以$作为文字常量(也叫做立即操作数...

2019-03-13 08:29:18

阅读数 18

评论数 0

Linux内核启动start_kernel之前逻辑分析(汇编)

在bootloader的帮助下,内核被载入到内存中,内核映像被加载到内存并获得控制权之后,内核启动流程开始。通常,内核映像以压缩形式存储,并不是一个可以执行的内核。因此内核的首要工作是自解压内核映像。 内核编译生成vmlinux后,通常会对其进行压缩,得到zImage(小内核,小于512KB)或...

2019-03-12 10:20:04

阅读数 23

评论数 0

linux 内核启动进程分析

在kernel进入c语言阶段后,会开始执行start_kernel函数,它负责进行kernel正式运行前各个功能的初始化:打印一些信息、内核工作城要的模块的初始化被依次调用(譬如内存管理、调试系统、异常处理...),最后末尾调用了一个rest_init函数启动了三个进程(idle、kernel_i...

2019-03-11 13:26:29

阅读数 22

评论数 0

Linux bss段 data段 rodata段 text段

Linux下内存管理是通过段页式管理,内存分配是以页为单位,而页是通过段管理,各个段之间是独立的。 1、BSS段 Block Started by Symbol和简称,是用来存储程序中未初始化的全局变量的一块内存区域,bss段属于静态内存分配。 2、data段 该段用于存储初始化的全局变量...

2019-03-11 09:50:18

阅读数 20

评论数 0

C typedef

C语言允许用户使用typedef关键字来定义自己习惯的数据类型名称。 例如,C语言在C99之前并不提供布尔类型,但我们可以使用typdef关键字来定义一个简单的布尔类型 typedef int BOOL; #define TRUE 1 #define FALSE 0 typedef的4种用...

2019-03-08 15:53:09

阅读数 9

评论数 0

linux 内核熵池

Linux内核采用熵来描述数据的随机性,熵(entropy)是描述系统混乱无序程序的物理量,一个系统的熵越大则说明该系统的有序性越差,即不确定性越大。在信息学中,熵被用来表征一个符号或系统的不确定性,熵越大,表明系统所含有用信息量越少,不确定度越大。 计算机本身是可预测的系统,因此,用计算机算法...

2019-03-05 08:50:15

阅读数 49

评论数 0

linux preempt_count

/* * low level task data that entry.S needs immediate access to. * __switch_to() assumes cpu_context follows immediately after cpu_domain. */ stru...

2019-03-05 08:23:51

阅读数 24

评论数 0

Linux内核代码中的__setup的用途

在Linux内核代码中经常会看到__setup,如下所示: __setup("nfsroot=", nfs_root_setup); 这是一个宏,它的定义在include/linux/init.h #define __setup(str, fn) _...

2019-03-04 16:28:04

阅读数 37

评论数 0

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