自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

skytoby

人的脚步为耶和华所定,人岂能明白自己的路呢?

  • 博客(82)
  • 资源 (5)
  • 收藏
  • 关注

原创 Android Framework学习总结

经过一段时间的学习,对于Android Framework大部分有一定的了解,现在将之前的学习进行总结并分类。1.Android系统启动相关Android系统SystemServer启动(上)Android系统SystemServer启动(下)开机广播BOOT_COMPLETED发送流程分析Android OTA升级流程分析2.Binder机制相关深入理解Binder机制1-AIDL原理深入理解Binder机制2-注册服务addService深入理解Binder机制3-获取服务getSer

2020-07-31 09:57:15 690

原创 Android刷新机制-View绘制原理

Android刷新机制-View绘制原理Android刷新机制-SurfaceFlinger原理Android刷新机制-Choreographer原理一、概述本文将从startActivity开始讲解Android屏幕刷新机制,前面的文章有分析过startActivity的启动过程,这里将重点分析WMS相关的过程,从而了解Android屏幕刷新机制原理。前面介绍的startActivity启动过程的流程图如下:二、View的绘制过程从启动过程中的performLaunchActivity开始分

2020-07-29 17:23:10 1080

原创 深入理解Binder机制4-bindService过程分析

一、概述1.1 Binder架构Android内核基于Linux系统,而Linux系统进程间通信方式有很多,如管道,共g享内存,信号,信号量,消息队列,套接字。而Android为什么要用binder进行进程间的通信,这里引用gityuan在知乎上的回答:(1)从性能的角度数据拷贝次数Binder数据拷贝只需要一次,而管道,消息队列,Socket都需要二次,但共享内存连一次拷贝都不需要;从性...

2020-03-24 15:38:56 1986

原创 深入理解Binder机制1-AIDL原理

Binder作为Android系统中重要的进程间通信方式,了解其基本的原理,对于分析问题具有重要的作用。由于Binder架构涉及的内容比较多,后面将会从应用层、框架层、Native层、内核层四个层次来说明Binder的原理。首先将从应用层的AIDL开始逐渐深入到内核层。整个系列的文章如下:深入理解Binder机制1-AIDL原理深入理解Binder机制2-注册服务addService深入理解...

2020-03-24 15:31:35 670

原创 Android10.0 四大组件与进程启动间关系

原文地址:https://skytoby.github.io/2019/Android%E5%9B%9B%E5%A4%A7%E7%BB%84%E4%BB%B6%E4%B8%8E%E8%BF%9B%E7%A8%8B%E5%90%AF%E5%8A%A8%E9%97%B4%E5%85%B3%E7%B3%BB/基于Android10.0,分析四大组件与进程启动间的关系一、概述Android进程对...

2020-01-05 19:47:54 1440

原创 Android10.0 开机广播BOOT_COMPLETED发送流程分析

原文地址:https://skytoby.github.io/2019/%E5%BC%80%E6%9C%BA%E5%B9%BF%E6%92%ADBOOT_COMPLETED%E5%8F%91%E9%80%81%E6%B5%81%E7%A8%8B%E5%88%86%E6%9E%90/基于Android10.0,分析BOOT_COMPLETED的发送流程一、概述开机广播在很多应用中都会用到,...

2020-01-05 19:43:52 8848

原创 Android10.0 BroadcastCast广播机制原理

原文地址:https://skytoby.github.io/2019/BroadcastCast%E5%B9%BF%E6%92%AD%E6%9C%BA%E5%88%B6%E5%8E%9F%E7%90%86/基于Android10.0,分析广播机制的原理一、概述广播(BroadcastCast)用于进程/线程间的通信,广播有发送广播和接收广播两部分组成,其中广播接收者BroadcastR...

2020-01-05 19:40:07 4277 2

原创 Android10.0 ContentProvider原理分析

原文地址:https://skytoby.github.io/2019/ContentProvider%E5%8E%9F%E7%90%86%E5%88%86%E6%9E%90/基于Android10.0,分析ContentProvider原理一、概述ContentProvider用于提供数据的统一访问格式,封装具体的实现。对于数据的使用无需知道是数据库、文件、网络,只需要使用Conten...

2020-01-05 19:35:58 2409

原创 Android10.0 startService启动过程

原文地址:https://skytoby.github.io/2019/startService%E5%90%AF%E5%8A%A8%E8%BF%87%E7%A8%8B/基于Android10.0,分析startService的启动过程一、概述前面已经介绍了详细介绍了管理Android四大剑客Activity、Service、Broadcast、ContentProvider的Activ...

2020-01-05 19:25:47 2602

原创 Android10.0 startActivity启动过程

原文地址:https://skytoby.github.io/2019/startActivity%E5%90%AF%E5%8A%A8%E8%BF%87%E7%A8%8B/基于Android10.0,分析startActivity的启动过程一、概述startActivity的整体流程和startService相近,启动后都是通过AMS来完成的。但相比service启动更加复杂,多了任务栈...

2020-01-05 19:17:06 3435 2

原创 Android10.0 OTA升级流程分析

原文地址:https://skytoby.github.io/2019/Android%20OTA%E5%8D%87%E7%BA%A7%E6%B5%81%E7%A8%8B%E5%88%86%E6%9E%90/一、概述目前Android系统终端的升级主要是通过无线进行的(FOTA,Firmware Over-The-Air),主要流程是通过无线方式将升级包下载到终端,而后调用系统的升级接口进行升...

2019-12-30 19:24:17 7277 3

原创 Android SystemProperties系统属性分析

原文地址:https://skytoby.github.io/2019/Android%20SystemProperties%E7%B3%BB%E7%BB%9F%E5%B1%9E%E6%80%A7%E5%88%86%E6%9E%90/SystemProperties.set方法可以设置系统属性,通过设置系统属性可以启动一些服务和操作,如关机,重启、uncrypt服务等。下面将分析为什么设置系统属...

2019-12-30 19:21:14 2390

原创 Android selinux权限修改

原文地址:https://skytoby.github.io/2019/selinux%E4%BF%AE%E6%94%B9/SELinux权限修改方法一:adb修改SELinuxEnforcing(已打开) Permissive(已关闭)getenforce //获取当前seLinux状态setenforce 1 //打开seLinuxsetenforce 0 //...

2019-12-30 19:14:50 2947 2

转载 Linux 虚拟内存和物理内存的理解

关于Linux 虚拟内存和物理内存的理解。首先,让我们看下虚拟内存:第一层理解1. 每个进程都有自己独立的4G内存空间,各个进程的内存空间具有类似的结构2. 一个新进程建立的时候,将会建立起自己的内存空间,此进程的数据,代码等从磁盘拷贝到自己的进程空间,哪些数据在哪里,都由进程控制表中的task_struct记录,task_struct中记录中一条链表,记录中内存空间的分配情况,哪...

2019-01-23 21:37:44 820

原创 Android开发高手课笔记--如何打造高质量应用?

前言学习《Android开发高手课》也有一段时间了,确实对技术的提高很有帮助,可以开拓自己的视野。想利用这一段时间好好整理下学习笔记,以便回顾。由于版权问题,后续笔记不再公开,感兴趣可扫二维码参加课程。如何打造高质量应用用户体验和应用质量内存优化,弱网络优化,做高质量的应用远不止这些1.环境越来越复杂    适配屏幕、双卡双待、Android各种机型厂家系统,国外的语言...

2019-01-22 08:42:03 4253 1

转载 Android9.0 新特性

Android 9(API 级别 28)为用户和开发者引入了众多新特性和新功能。 本文重点介绍面向开发者的新功能。利用 Wi-Fi RTT 进行室内定位Android 9 添加了对 IEEE 802.11mc Wi-Fi 协议(也称为 Wi-Fi Round-Trip-Time (RTT))的平台支持,从而让您的应用可以利用室内定位功能。在运行 Android 9 且具有硬件支持的...

2018-08-27 20:54:30 8747 1

原创 LeetCode 8 字符串转整数 (atoi)

实现 atoi,将字符串转为整数。在找到第一个非空字符之前,需要移除掉字符串中的空格字符。如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值。如果第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。字符串可以在形成整数的字符后面包括多余的字符,这些字符可以被忽略,它们对于函数没有影响。当字符串中的第一个非空字...

2018-08-27 19:56:22 178

原创 禁用Android底部虚拟按键

Android设备屏幕底部一般都有虚拟按键,上面有 back、home等按钮。网上搜索到的在代码中通过隐藏导航栏的方法来禁止虚拟按键,例如:View decorView = getWindow().getDecorView();int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_IMMERSI...

2018-08-16 20:17:35 13804 2

原创 深入浅出依赖注入框架Dagger2

目录目录依赖注入依赖注入实现的三种方式1. 构造注入2. 属性注入3. 接口注入Dagger2Dagger2的引入不带Module的Inject方式(Inject+Component)带Module的Inject方式(Inject+Component+Module)Module带参数Scope作用域Qualifier方法Component间依赖的...

2018-07-16 20:49:45 459

原创 LeetCode 7 反转整数

给定一个 32 位有符号整数,将整数中的数字进行反转。示例 1:输入: 123输出: 321 示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231,  231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。示例代码:class Solution: def revers...

2018-06-30 13:11:20 215

原创 Android8.0恢复出厂设置失败-BroadcastQueue: Background execution not allowed

Android7.0恢复出厂设置调用下面的代码可正常恢复出厂Intent intent = new Intent(Intent. ACTION_MASTER_CLEAR);intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);intent.putExtra(Intent.EXTRA_REASON,"MasterClearConfirm");i...

2018-06-30 12:18:41 6082

原创 LeetCode 6 Z字形变换

将字符串 "PAYPALISHIRING" 以Z字形排列成给定的行数:P A H NA P L S I I GY I R之后从左往右,逐行读取字符:"PAHNAPLSIIGYIR"实现一个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 1:输入: s = "PAYPALISHIRING", numRows ...

2018-06-11 19:58:40 227

原创 ubuntu下机器学习工具的安装使用

说明:本文将会介绍常用的机器学习使用到的ide,主要为ipython,ipython notebook和eclipse pydevIPython与IPython Notebook安装及使用IPython是一个交互式计算系统。主要包含三个组件:增加的交互式 “Python shell”,解耦的双过程通信模型,交互式并行计算的架构。支持变量自动补全。安装IPython输入命令sudo apt-get ...

2018-05-26 13:51:05 1052

转载 Kaggle入门,看这一篇就够了

转载地址:https://zhuanlan.zhihu.com/p/25686876之前发表了这篇关于 Kaggle 的专栏,旨在帮助对数据科学( Data Science )有兴趣的同学们更好的了解这个平台。专栏发表至今收到了不少的关注和肯定,还有很多小伙伴私信相关的问题。因此,我特邀了一位海外一线 Data Scientist(有丰富的kaggle参赛经验)在知乎上开了live(时间:4/27...

2018-05-26 11:25:34 1096

原创 ubuntu16.04安装retext,第一行图标flie,edit,help没有,其它图标也不显示?

图标问题解决:https://blog.csdn.net/skyman1991/article/details/46477279flie,edit,help默认不是在编辑器的第一行,而是在ubuntu的顶端

2018-05-18 10:29:06 505

原创 UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dx.cf.iface.ParseException: bad class file magic

UNEXPECTED TOP-LEVEL EXCEPTION:com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000) at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:...

2018-05-16 14:13:00 1254

原创 LeetCode 5 最长回文子串

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。示例 1:输入: "babad"输出: "bab"注意: "aba"也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"示例代码#!/usr/bin/python3import mathdef longestPalindrome(str): start = 0 end = 0 f...

2018-05-13 21:56:31 283

原创 人工智能实践:TensorFlow笔记学习(八)—— 卷积神经网络实践

大纲7.1  复现已有的卷积神经网络7.2  用vgg16实现图片识别目标掌握复现已有网络,用vgg16实现图片识别7.1  复现已有的卷积神经网络VGGNet是Karen simonyan等人在2015年的ICLR会议中,公开的神经网络模型。这个模型在2014年的ImageNet比赛中获得了定位第一名和分类第二名的成绩。论文为VeryDeep Convolutional Networks for...

2018-05-06 17:18:56 2729 4

原创 人工智能实践:TensorFlow笔记学习(七)—— 卷积神经网络基础

大纲7.1 卷积神经网络7.2  lenet5代码讲解目标掌握卷积神经网络的搭建方法7.1 卷积神经网络全连接 NN:每个神经元与前后相邻层的每一个神经元都有连接关系,输入是特征,输出为预测的结果。参数个数:(前层X后层+后层)  一张分辨率仅仅是28x28的黑白图像,就有近40万个待优化的参数。现实生活中高分辨率的彩色图像,像素点更多,且为红绿蓝三通道信息。待优化的参数过多,容易导致模型过拟合。...

2018-05-03 20:38:57 4929

原创 开启Thread线程只执行一次

代码如下private static Thread mTaskThread = new Thread(new Runnable() { @Override public void run() { count++; System.out.println("this is time do task:" + count); }});public static void main...

2018-04-26 17:09:09 9649

原创 人工智能实践:TensorFlow笔记学习(六)—— 全连接网络实践

输入手写数字输出识别结果 大纲6.1 输入手写数字图片输出识别结果6.2 制作数据集目标1、实现断点续训 2、输入真实图片,输出预测结果3、制作数据集,实现特定应用 6.1  输入手写数字图片输出识别结果一、断点续训 关键处理:加入ckpt操作: ckpt = tf.train.get_checkpoint_state(MODEL_SAVE_PATH) if ckpt andckpt.model...

2018-04-25 20:19:43 1987

转载 Android性能优化典范第六季

原文链接:http://hukai.me/android-performance-patterns-season-6/前言          本季内容大致有:程序启动时间性能优化的三个方面:优化activity的创建过程,优化application对象的启动过程,正确使用启动显屏达到优化程序启动性能的目的。另外还介绍了减少安装包大小的checklist以及如何使用VectorDrawable来减少...

2018-04-25 19:42:42 354

原创 人工智能实践:TensorFlow笔记学习(五)—— 全连接网络基础

MNIST数据集输出手写数字识别准确率大纲5.1 MNIST数据集5.2 模块化搭建神经网络5.3 手写数字识别准确率输出目标利用MNIST数据集巩固模块化搭建神经网路的八股,实践前向传播和反向传播过程,编写测试程序输出手写数字识别准确率。5.1 MNIST数据集MNIST数据集:包含7万张黑底白字手写数字图片,其中55000张为训练集, 5000张为验证集,10000张为测试集。每张图片大小为2...

2018-04-22 19:53:31 2232 3

原创 人工智能实践:TensorFlow笔记学习(四)—— 神经网络优化

神经网络优化 大纲4.1 损失函数4.2 学习率4.3 滑动平均4.4 正则化4.5 神经网络搭建八股目标掌握神经网络优化方法4.1 损失函数神经元模型:用数学公式表示为:,f为激活函数。神经网络是以神经元为基本单元构成的。激活函数:引入非线性激活因素,提高模型的表达力。常用的激活函数有relu、sigmoid、tanh等。① 激活函数relu: 在Tensorflow中,用tf.nn.relu(...

2018-04-14 18:34:14 2640 2

转载 Android性能优化典范第五季

原文链接:http://hukai.me/android-performance-patterns-season-5/前言          本季内容大致有:多线程并发的性能问题,介绍了AsyncTask,HandlerThread,IntentService与ThreadPool分别适合的使用场景以及各自的使用注意事项,这是一篇了解Android多线程编程不可多得的基础文章,清楚的了解这些And...

2018-04-14 11:29:53 223

转载 Android性能优化典范第四季

原文链接:http://hukai.me/android-performance-patterns-season-4/前言          本季内容大致有:优化网络请求的行为,优化安装包的资源文件,优化数据传输的效率,性能优化的几大基础原理等等。1)Cachematters for networking      想要使得Android系统上的网络访问操作更加的高效就必须做好网络数据的缓存。这是...

2018-04-05 15:20:29 347

原创 LeetCode 4 两个排序数组的中位数

有两个大小为 m 和 n 的排序数组 nums1 和 nums2 。请找出两个排序数组的中位数并且总的运行时间复杂度为 O(log (m+n)) 。示例 1:nums1 = [1, 3]nums2 = [2]中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]中位数是 (2 + 3)/2 = 2.5示例代码def findMedianSortedArray...

2018-04-04 20:39:07 154

原创 长时间运行app,产生anr

       app需要实时的更新当前的地址位置信息,在位置监听中进行显示出来,包括经纬的转换,距离目标,在测试几个小时内没有问题,但是在12个小时以上就出现了界面点击无响应。解决办法      调试发现监听中耗时10ms+,在界面更新的范围内,但在长时间却出现anr,说明还是耗时太长,更新频率有问题。解决方法:      1.在位置发现改变时才更新UI      2.经纬度的转换等计算的任务,放...

2018-04-03 20:01:37 377

原创 sudo apt-get install 报无法获得锁

如图sudo apt-get install xxx后报错解决办法移除锁,重新配置sudo rm /var/lib/dpkg/locksudo dpkg --configure -a这样之后就可以安装。

2018-04-01 17:05:13 3098

原创 人工智能实践:TensorFlow笔记学习(三)——TensorFlow框架

搭建神经网络大纲3.1 张量、计算图、会话3.2 前向传播3.3 反向传播目标搭建神经网络,总结搭建八股 3.1 张量、计算图、会话一、基本概念 基于Tensorflow的NN:用张量表示数据,用计算图搭建神经网络,用会话执行计算图,优化线上的权重(参数),得到模型。 张量:张量就是多维数组(列表),用“阶”表示张量的维度。0阶张量称作标量,表示一个单独的数; 举例 S=123 1阶张量称作向量,...

2018-04-01 16:33:46 4898 4

64位十六进制转浮点数

标准IEEE754标准 ,将 64位十六进制转浮点数

2016-11-19

zxing3.2.1

zxing二维码项目最新的版本,详细的说明查看我的博客:http://blog.csdn.net/cao861544325/article/details/49181991

2015-10-16

quartus12.0破解

quartus12.0版的破解工具,希望能帮到大家

2014-07-26

《verilog 数字系统设计课程》(第二版)思考题答案

本文档是本人在阅读《verilog 数字系统设计课程》(第二版)时的思考题的作答,希望能够帮助一些人。

2014-07-25

c语言学习软件cfree5

能够支持c/c++编程,对话框程序,数据库,等等,运行效力高,能够轻松找到错误,适合初学c语言者

2011-08-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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