Android 8.0系统源码分析--Zygote启动过程分析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_22657459/article/details/78946921 上一节我们详细的看了下Android应用进程的启动过程分析,知道了应用进程是由Zygote进程调用Linux的系统函数fork复制出来的,那么Zygote进程是怎么启动起来的?这节我们就来看一下Zygote进程的启动过程。 当我们的Android手机开机时,Linux的init进程会去加载init.rc配置文件,老罗博
分类: 其他 发布时间: 04-29 23:03 阅读次数: 0

Android 8.0系统源码分析--startService启动过程源码分析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_22657459/article/details/79057716 作过android应用开发的同事都非常清楚,android提供了四个组件Activity、Service、BroastcastReceiver、ContentProvider,分别都有不同的作用,这也给我们的应用开发提供了非常大的帮助,因为这四大组件本身就已经处理了很多的工作,我们只需要使用它就能达到成我们的目的。今天
分类: 其他 发布时间: 04-29 23:03 阅读次数: 0

Android 8.0系统源码分析--openCamera启动过程源码分析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_22657459/article/details/79187086 今年一进公司就开始搞相机开发,一直是在搞相机应用层,不过自己的学习心一直没停,闲暇之余就研究一下相机的framework、HAL层的东西,平时工作中碰到的和自己接触到的,相机中最复杂的就是预览了,有了一些体会也不想放下,所以决定写一系列关于Android相机的博客,把自己学习到的东西记录下来。 说起Android相机的
分类: 其他 发布时间: 04-29 23:03 阅读次数: 0

Android 8.0系统源码分析--Activity的窗口Window对象添加过程源码分析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_22657459/article/details/79222873 这节我们来看一下Activity的窗口Window对象的创建过程,Activity作为Android提供的四大组件之首,我们之所以能非常简单的使用它,就是因为它的创建过程中,framework为我们作了大量的初始化工作,包括它的窗口Window、显存Surface、事件分发的InputChannel等等非常多的工作,都
分类: 其他 发布时间: 04-29 23:03 阅读次数: 0

Android 8.0系统源码分析--相机createCaptureSession创建过程源码分析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_22657459/article/details/79370295 上一次我们详细分析了openCamera启动过程的源码,从CameraServer进程创建了很多对象,比如CameraDeviceClient、Camera3Device、FrameProcessorBase,而真正打开相机还是在驱动层中上电后才完成的,有时候真想把公司的系统组件和芯片组件的源码拷回来,这样就能看到完整
分类: 其他 发布时间: 04-29 23:02 阅读次数: 0

Android 8.0系统源码分析--openCamera(HAL)启动过程源码分析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_22657459/article/details/80296569 前面我们详细分析了从应用层调用CameraManager的openCamera的方法来打开相机的逻辑,上次的分析我们来到了CameraServer进程当中,但是还没有真正看到open操作设备节点来实现真正打开的逻辑,遗留的问题也就是从frameworks\av\services\camera\libcameraserv
分类: 其他 发布时间: 04-29 23:02 阅读次数: 0

CMake编译so库出现“undefined reference to `__android_log_print’”的解决方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_22657459/article/details/80425743 今天自己新建了个C++工程,想生成so库,新建的工程中使用android日志打印,编译就一直报错,网上查找了下相同的问题,非常多的网友的解决方法都有点些误导,浪费时间。所以在这里说一下问题原因和解决方法。也非常简单。 我们新建一个包含C++的工程时,AS自动给我们生成了cpp文件和CMakeList配置文件,具体如下:
分类: 其他 发布时间: 04-29 23:02 阅读次数: 0

我的架构师之路--精髓总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_22657459/article/details/81121538 2010大学毕业到现在,工作八年了,一直思考着自己的职业规划和道路方向,但是一直没有一个满意的答案,我的架构师之路 也只是当时从技术方向上思考到的一点总结,一直在思考,一直在探索…… 突然,今天早晨自己对这个问题的思考感觉有了一定上认识的升华! 我是一个农村娃,从小就有了实干的性格,自己不管在家里、团队、公司,都会像老
分类: 其他 发布时间: 04-29 23:02 阅读次数: 0

Android 7.0系统源码下添加共享库

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_22657459/article/details/82794320 今天的任务从早上搞到现在,才算完成,本来以为比较简单,就是出一个Demo,将实际业务的逻辑封装成so库,放在系统层,对上层不暴露任何东西,中间就一层JNI调用,原本以为很简单,但是由于自己的一个坏习惯,折腾了一天。将处理过程详细记录下来,同时吸取教训,也希望能给大家带来帮助。 JNI的封装很简单,代码就不上了,在And
分类: 其他 发布时间: 04-29 23:01 阅读次数: 0

编码、摘要和加密(二)——信息摘要

0. 前言 信息摘要,英译 Message Digest 。看见首字母这么大的 M 、D有没有立即联想到 MD5 算法。其实 MD5算法只是目前比较流行的信息摘要算法,在它之前,还出现过 MD2 MD4,以及目前仍然在用的安全散列算法(Secure Hash
分类: 编程语言 发布时间: 04-29 23:01 阅读次数: 0

Android 7.0修改PMS逻辑添加权限白名单

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_22657459/article/details/82901087 今天有任务安排需要实现给任何一个应用在不动态申请权限的情况下,实现权限赋予,大体知道应用权限的赋予逻辑是在PMS中,于是大概研究了下,最终的手段就是在install安装时,就把应用程序AndroidManifest中请求的权限赋予它,但是时间有限,跟踪了下应用安装的逻辑,往上走还是非常复杂,就暂且放下了。 解决方案:
分类: 其他 发布时间: 04-29 23:01 阅读次数: 0

强化学习详解与代码实现

强化学习详解与代码实现 本文系作者原创,转载请注明出处:https://www.cnblogs.com/further-further-further/p/10789375.html 目录 1.引言 2.强化学习原理 2.1 强化学习定义 2.2 马尔科夫决策过程(MDP Markov Decision Process) 2.3 贝尔曼方程(Bellman) 2.4 Q-Learning 3.代码实现与说明(python3.5) 4.运行结果 5.参考文献 1.引言 相信大家对由Google开
分类: 其他 发布时间: 04-29 23:01 阅读次数: 0

4-29 c语言之栈,队列,双向链表

  今天学习了数据结构中栈,队列的知识   相对于单链表来说,栈和队列就是添加的方式不同,队列就相当于排队,先排队的先出来(FIFO),而栈就相当于弹夹,先压进去的子弹后出来(FILO)。 首先看一下栈(Stack)的实现 1 #include<stdio.h> 2 #include<stdlib.h> 3 #define TRUE 1 4 #define FALES 0 5 typedef struct NODE 6 { 7 int i; 8 s
分类: 其他 发布时间: 04-29 23:01 阅读次数: 0

洛谷P5156 [USACO18DEC]Sort It Out

这题就是让你求字典序第k小的最短乱序子序列 转换一下,其实就是字典序第k大的最长上升子序列 就统计一下以i结尾的最长上升子序列\(f[i]\),长度为i的上升子序列的开头组成的集合\(v[i]\),转移时贪心转移就行了 然而并不是很懂为什么计算\(f[i]\)时要倒着计算…… 代码: #include <bits/stdc++.h> #define N 100005 #define ll long long #define inf 1e18 using namespace std; vect
分类: 其他 发布时间: 04-29 23:01 阅读次数: 0

基本数据结构 -- 队列(数组实现)

  队列是一种先进先出(FIFO)的线性表。对队列的基本操作有两种: 入队(Enqueue),在表的末端(队尾 tail)插入一个元素;出队(Dequeue),删除或返回在表的开头(队头 head)的元素。本文介绍如何使用数组在 C 语言中实现一个队列。   先创建一个队列结构体,这个结构体应该包括这几个元素:队头在数组中的位置(Front)、队尾在数组中的位置(Rear)、队列的大小(Size)、用于存储队列的数组(Array)以及数组的容量(Capacity): typedef int E
分类: 其他 发布时间: 04-29 23:01 阅读次数: 0

MySQL8,登陆root后修改root密码的正确方式

如题,·MySQL8以上的修改密码方式和5不一样 网上搜到的无用答案很多,这里记一下版本8的正确修改方式,也方便自己和他人 USE mysql; ALTER user 'root'@'%' IDENTIFIED BY 'newpassword'; FLUSH PRIVILEGES; 注意@后要是%,不能是localhost 参考的正确网址
分类: 其他 发布时间: 04-29 23:01 阅读次数: 0

第三组 通信一班 030 OSPFv2、OSPFv3综合实验

一、 实验目的 掌握 OSPFv2、 OSPFv3 的配置方法 掌握在帧中继环境下OSPFv2、 OSPFv3 的配置方法 掌握 OSPFv2、 OSPFv3 NSSA 的配置方法 掌握外部路由汇总的配置 掌握区域间路由的汇总配置 掌握往 OSPFv2、OSPFv3 区域注入路由的方法 二、 拓扑 三、 地址规划 1. IPV4地址规划 路由器 接口 接口地址 环回地址 归属区域 R1 S 1/1 172.17.30.1/24 L0:172.23.30.1/24 Area 1 F 0/0 17
分类: 其他 发布时间: 04-29 23:01 阅读次数: 0

编程时:电脑一定是对的,如果觉得不对,请参考第一条

编程时:电脑一定是对的,如果觉得不对,请参考第一条 ..\code\main.c(13): error C231: 'P11': redefinition 一直在报这个错,查了很多次,竟然把赋值定义到函数外面去了。 都怪自己太粗心,记录一下,下次就不会犯这样的错了。
分类: 其他 发布时间: 04-29 23:01 阅读次数: 0

spring深入学习(五)-----spring dao、事务管理

访问数据库基本是所有java web项目必备的,不论是oracle、mysql,或者是nosql,肯定需要和数据库打交道。一开始学java的时候,肯定是以jdbc为基础,如下: private static int insert(Student student) { String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/samp_db"; String
分类: 其他 发布时间: 04-29 23:01 阅读次数: 0

C#二进制位算 权限

关于权限管理,之前所做的都是一个权限对应一条数据,比方A页面有增删改查四个权限,那么用户在权限管理表中相对应AA页面有四条记录。后来改用二进制运算,发现省事很多。 首先说下位运算 熟悉一下操作符,懒得插入表格了,字节贴一张别人的图 看效果图,用一个枚举列出所有权限编号 之后八权限编号带进去运算,可以得到用户是否拥有该权限 所有A 值 A1 A2 A3 都是2的n次方数字经过 或位算 | 得到的 2 | 4=6 和相加的如果一样 但是 2|4 缺不能喝2+4 相提并论 。一个是一样的。 小明一开
分类: 其他 发布时间: 04-29 23:01 阅读次数: 0