C1☆ Blog

Thinking will not overcome fear but action will.

算法学习笔记2-动态规划

算法

算法学习笔记(二) 前言 最近发现,笔记的引言部分都变成了我笔记里的槽点,所以在下干脆把这个引言改成前言,以后就用来记录一些我写这篇笔记的心情和想法,以便我日后回过头来看哈 求从始点到终点的最短路径 实现思路 任何最短路径的子路径都是相对于子路径的始点和终点的最短路径 为找到一条最短路径只需从Tj开始进行多步判读 判断序列: F(Cl) = min{ C1->...

算法学习笔记1-分治法

算法

算法学习笔记(一) 引言 笔者是一位大二的学生,网络工程专业没有算法这门课,实属蛋疼,所以笔者跟着其他专业的同学一起去蹭了算法课,然后mark下课堂上老师讲的印象深刻的算法题 归并排序思想找出第K个最小元素 算法框架 1.遍历n个数,把最先遍历到的k个数存入到大小为k的数组中,假设它们即是最小的k个数 2.对这k个数,找到这k个元素中的最大值kmax(找最大值需要遍历这k个数,时...

Android应用进程与系统进程的通信

framework

Android应用进程与系统进程的通信 引言 网上关于Activity的启动流程以及各种Binder IPC进程通信的文章数不胜数,大多都是从应用进程到系统进程,又从系统进程回到应用进程,笔者在看这些文章的时候,其实有时真的会很烦,因为整篇文章都各种方法填充,所以笔者看了一些这样的文章之后,决心写一篇自己看起来舒服点的文章,意在总结和分析一些系统的流程和设计用意 进程通信接口的实现 ...

Android LayoutInflate源码解析

LayoutInflater

LayoutInflater 引言 由于笔者之前对LayoutInflate.inflate方法的传入参数以及内部实现比较模糊,之前大一考核期看过但是最近在setContentView源码的时候又想不起来,所以决定写一篇笔记去记录一下这个点 [LayoutInflate->inflate] public View inflate(XmlPullParser parser, @N...

Android广播机制

framework

Android广播机制 广播机制对于我们Android开发者来说并不陌生,最近笔者听身边的小伙伴讲了一下EventBus的实现原理,发现原来EventBus的内部是基于反射实现的,所以对于Android原生的广播机制充满了兴趣,本文笔者将记录笔者学习广播机制的学习过程 上一篇Android中的Context也讲述了Android中四大组件的关系,所以本文将以ContextWrapper的...

startService启动过程

framework

startService启动过程 ActivityManagerService ActivityManagerService是Android的Java framework的服务框架最重要的服务之一。对于Andorid的Activity、Service、Broadcast、ContentProvider四大组件的管理,包含其生命周期都是通过ActivityManagerService来完成...

Android数字签名机制

签名机制

Android数字签名机制 数字签名有什么用? 在日常生活中,我们都有过签名表身份的经历,比如:在签署一些协议或者合同的时候,往往需要潇洒的挥上自己的名字,甚至按一下指纹,这都是为了确定行为人的身份,而数字签名是签名的一个分支:基于密码学的签名方式,被数字签名广泛采用的RSA算法就是一种加密算法 数字签名怎么用呢? 在网络发送信息时,存在安全问题,因为在发送者和接收者之间可能存在第三...

Android中的Context

framework

Context 前言 说到Context,它其实是我们熟悉又陌生的小伙伴了,一开始我们都感知不到Context的存在,而是被迫使用Context的,比如自定义View构造函数就要传入Context,发送广播的时候,又必须使用Context,于是乎,我们通常会设计一个成员mContext来保存外部传入的Context,但是这样有造成一些问题: 好不容易想实现控件的代码解耦,为什么要...

Android包管理机制

framework

Android包管理机制 包其实就是一种文件格式,如apk包,jar包。Android中存在着很多包,所有的应用程序都是apk包,很多构成Android运行环境的都是jar包,还有一些以so为后缀的库文件,由于包的种类和数量繁多,就需要进行包管理,而包管理机制中的核心类就是PMS 包的数据结构 Android中的apk和Jjar包都以静态文件的形式分布在不同的硬件分区,而包管理是在内存...

Android打包流程

framework

Android打包流程 打包资源文件,生成R.java文件 这个过程使用了android-sdk/platform-tools目录下aapt工具将资源文件打包,这个过程中项目中的AndroidManifest.xml文件和布局文件xml都会编译生成相应的R.java,同时还有编译生成成resources.arsc和uncompiled res文件(二进制文件 ...