Boredream Blog

「day day up」

《算法4》 查找树

不同数据结构 无序链表 直接遍历循环一遍,O(n) 有序数组 二分查找法,O(lgn)。 但插入效率不高,二分查找插入后,后面数据要全后移一位,O(lgn) + O(n) = O(n) 查找二叉树 将数据结构直接做成二分+链式的。规则 左结点 < 根结点 < 右结点 这样查找、插入都是对数级别 O(lgn)。二分查完后直接末尾插入。 但查找二叉树在最坏的情况下,...

面向切面编程 AOP

概念 比如我希望在所有页面启动的时候加一个埋点~ 希望在所有按钮点击的时候加个快速重复点击的判断~等等 这样在项目中同一种类型的所有代码处,统一加入逻辑处理的方法,叫做面向切面编程 AOP 而这些我们需要插入代码的具体位置,则叫做切点 Pointcut,比如我在某些类的某个方法中插入 项目中可以插入地方的类型,叫做连接点 Join Point,比如我可以在方法中插入,可以在变量取值时插入...

Android 应用启动流程

启动应用前准备 启动电源后,先做一系列处理,主要是init进程的启动。init进程作为空户空间的第一进程,需要做很多重要工作,主要是创建zygote孵化器服务等。 Android系统中,Dalvik虚拟机、应用程序进程、系统各种关键服务进程都是由Zygote进程通过folk复制的形式来创建的,所以称之为孵化器。 Zygote会fork孵化出一个System Server,它会启动所有系统...

Https 加密原理(简略)

加密类型 对称加密 - 共享秘钥加密 加密和解密使用相同的秘钥 常见对称加密算法有:DES、3DES、AES、RC5、RC6 缺点在于如何安全的把秘钥告知接受者让他用这个秘钥去解密 公钥加密 - 公开密钥加密 有一对秘钥,加密秘钥和解密秘钥 常见的公钥加密方法有:RSA 缺点是速度比对称加密慢 有一个问题是如何保证公钥的安全性,合法性 消息摘要 - 也称作散列函数或哈希函数 是...

Android Studio Plugin 插件开发教程(四) —— 为插件添加UI

教程三其实已经完成了插件基本功能的开发,为了更好用,还可以加入可操作的对话框 这次我们新增一个Dialog,可以勾选需要的数据类字段、主键,效果图如下 对话框的新建可以 File | New | Dialog 输入名字后确认生成两个类,如下ColumnDialog就是一个对话框UI文件夹 下面还自动生成的俩类, .java类 和 .form类,前者控制页面逻辑,后者指定对话框UI样式...

Android Studio Plugin 插件开发教程(三) —— 实现自动生成数据库代码插件

本篇开始,撸个自动生成安卓Sqlite数据库代码的插件 插件功能简介 给定一个数据类,比如User 1 2 3 4 5 6 7 public class User { private String username; private boolean isMale; private int age; ... getter and settier method...

Android Studio Plugin 插件开发教程(二) —— 插件开发中的一些基础对象概念

先树立一个概念,AS里项目的一切都可以视为对象 比如整个项目,项目里的每个文件,文件里的每个方法、每行语句等等都是一个对象 我们插件SDK的开发,大部分就是针对这一个个的对象进行分析修改 如何获取到这些对象呢? 作为整个插件的入口,Action类中会自动复写一个方法,我们可以通过方法参数ActionEvent获取各种需要的对象 回到上一章的例子中,之前的例子代码如下 可以看到用Action...

Android Studio Plugin 插件开发教程(一) —— 开发你第一个插件

本教程基于官方文档编写,原版地址如下 官方文档 http://www.jetbrains.org/intellij/sdk/docs/welcome.html 搭建环境: 下载IntelliJ Idea客户端并安装 https://www.jetbrains.com/idea/download/ 一、配置SDK 打开IDE后,选择File | Project Structure 在配置窗...

onTouchEvent分发机制

网上介绍TouchEvent分发机制的文章很多,可能有的同学看了还是不明白 这里我会结合源码、画图、简化代码结构图、三个人买手机的类比等多个角度全面解释 其中用三个人买手机的例子做的类比,可以让你更具象化的直接理解整个流程 开始介绍事件分发机制之前,先简单介绍下这个TouchEvent是什么 安卓手机的交互,主要就是手指在屏幕上的戳戳滑滑点点 而我们的这些操作其实主要是由三种基本动作组成...

直播技术整理4.推流和传输

主流推送协议 RTMP WebRTC 基于UDP的私有协议 RTMP 即 Real Time Messaging Protocol 实时消息传输协议 基于TCP 是一个协议族,即包括RTMP基本协议和RTMPT / RTMPS / RTMPE等多种变种 主要是设计用来进行实时数据通信的网络协议 优点:CDN支持好、协议简单 缺点:基于TCP,传输成本高,弱网环...