文件 输入流、输出流。 1.读取数据:fgetc读取字节。一次读取一个字符,读不到返回-1 fread:一次读取多个。 2.fgets 一次读一行数据,以换行符为准,读不到返...
文件 输入流、输出流。 1.读取数据:fgetc读取字节。一次读取一个字符,读不到返回-1 fread:一次读取多个。 2.fgets 一次读一行数据,以换行符为准,读不到返...
10. 动态内存分配。 malloc (memory allocation) 申请一段连续空间,单位是字节。效率会更高。常用。calloc (clear allocati...
8.结构体,共同体。 8.1 结构体 struct。 结构体可以理解为自定义的数据类型; 他是由一批数据组合而成的结构型数据。 里面的每个数据,都是结构体成员。 8.1.1 ...
7. 字符串 获取字符串的两种方式:char str[4] = {'a', 'b','c', '\0'};char str[4] = "abc"; // 1.字符数组+双引号...
5. 指针(指针变量,内存地址)。 指针就叫内存地址。变量里面记录的内存地址语法: 数据类型 * 变量名; 指针变量占用的大小,根数据类型无关,根编译器有关。32位占4字节...
3.流程控制、循环语句 ifif-elseif-else if- else if- else 3.1 switch-case 把所有的选择一一列出来,效率比ifelse高。不...
1. 基础概括。 C能做什么:嵌入式开发、操作系统、驱动开发、引擎开发、高性能游戏开发....C语言执行过程: 编写c文件--> 编译.c文件 --> .obj文件 -->...
Android 6.0 运行时权限处理解析 1.概述 在6.0及以上版本我们的危险权限都需要在运行的时候去申请,之前都是在清单文件中配置即可,现在就不行了需要加代码申请。对于...
Fragment 源码解读和使用。 中间部分: FrameLayout(ViewGroup) +Fragment, 选择某个tab再加载其里面的数据。需要左右滑动,也可以给F...
反射的常用知识点。 概念 (使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码))JAVA反射机制是在运行状态中,对于任意一个类...
Android单例。 推荐使用静态内部内实现单例或加了Volatile关键字的双重检查单例 使用容器实现单例模式 LayoutInflater的单例模式实现 在日常开发中,我...
插件化架构介绍 简介:点击按钮,去服务器下载一个功能.apk, 保存到本地。它没有运行是单独的plugin,我们要把它启动起来,并给它传递参数。 启动的插件Activity,...
1.Activity启动流程。 动态代理,当Activity 没配置注册的情况下,绕过去(不报错)。插件化apk,里面的Activity, 是不会在主apk里面配置的。 注册...
4. IPC进程间通信,源码分析 // app/ContextImpl.javabindService()--> bindServiceCommon()--> Activit...
IPC ,目标Service常驻后台。 应用层, binder驱动,binder native层。service_manager.cbinder.cbinder.h 2.IP...
总结: 实现单例主要有如下几个关键点: 构造方法不对外开放,一般是private,防止外部实例化。 通过一个静态方法返回实例对象。 保证实例只有一个,尤其是多线程环境下。 确...
3. LayoutInflater 源码阅读 layoutInflater 主要用来inflater 解析layout 布局 inflate() 就是调用的factory.i...
Activity.setContentView() 界面是怎么实例化的。 目前能做到,获取另外一个没安装的apk的资源文件(网上下载的) 实现换肤功能: 每一次打开的都是新的...
2.插件式换肤框架搭建思路。 思路:2.1 悄悄从网上下载一套皮肤 apk(zip 文件),把它运行起来,它无主界面。每次获取皮肤的时候,利用反射;2.2 不需要运行,直接...
1.setContentView 源码 (Android-23) Window(PhoneWindow)~~ DecorView(FrameLayout)~~ 系统的资源Li...