Android中的消息机制Handler

什么是Handler? Handler是安卓消息机制的一个上层接口。 handler通过发送和处理Message和Runnable对象来关联相对应线程的MessageQueue。 1.可以让对应的Message和Runnable在未来某个时间点进行相应处理。 2.让自己想要处理的耗时操作放在子线程...

2019-03-13 09:24:37

阅读数 44

评论数 0

Camera的一些总结

前言 闲谈 因为最近公司在做有关摄像头的项目(人脸识别、皮肤测试)。涉及到了usb摄像头和原生的摄像头,我们usb摄像头用的UVC的库来预览的,其实用Camera来预览也是可以的。开发期间查阅了一些资料,也走了很多弯路。所以现在项目上线了,写了这篇文章,希望能够帮到在Camera迷茫的小伙伴们… ...

2019-05-24 13:15:30

阅读数 5

评论数 0

增量更新

前言 增量更新的主要目的是省流量。关于在哪个页面更新、到底提示不提示更新、是否强制更新等等这都不是增量更新的重点,这些根据具体需求就好了。增量更新主要就是用更少的流量去更新。 增量更新主要涉及两个操作:差分、合并。合并指的是当前版本与所对应的差分包进行合并,这个操作在客户端完成。差分指的是新版本与...

2019-05-14 10:32:34

阅读数 28

评论数 3

搞定所有常见的的Git操作

Git工作区 Git仓库 最终确定的文件保存到仓库,成为一个新的版本,并且对他人可见。 暂存区(索引) 暂存已经修改的文件最后统一提交到git仓库中。 工作区 添加、编辑、修改文件等工作。 Git操作流程 初始化一个新的Git仓库 //创建文件夹test mkdir test /...

2019-04-27 17:14:50

阅读数 36

评论数 0

SignalR在Android上的实践

闲言 因为我们后台是 .net,所以要求使用SignalR来实现推送。因为网上资料也不多,也走了很多弯路。现在记录一下,希望可以帮到更多的人。 首先要确认后台用的是 asp.net 还是 asp.net core ,这两个的SignalR还是有区别的,我们Android用的库也不一样,我认为是不兼...

2019-04-19 11:29:53

阅读数 95

评论数 4

预编译和JNI

预编译 C语言执行的流程: 编译:形成目标代码(.obj) 连接:将目标代码与C函数库连接合并,形成最终的可执行文件 执行 预编译:为编译做准备工作,完成代码文本的替换工作。 头文件只是告诉编译器有这种函数,连接器负责找到函数的实现。 define指令: 定义标识 #ifdef _cpl...

2019-04-15 15:41:13

阅读数 27

评论数 0

哈夫曼树和哈夫曼编码

通常的编码方法有固定长度和不等长度编码。最优编码方案的目的是使总码长度最短。 如果采用等长的编码方案,假设所有字符的编码都等长,则表示n个不同的字符需要位,例如三个不同的字符abc,至少需要2位二进制数表示:a(00)、b(01)、c(10)。如果每个字符的使用频率相等的话,固定长度编码是空间效...

2019-03-26 09:37:44

阅读数 38

评论数 0

二叉树

树 什么是树? 树(Tree)是n(n≥)个节点的有限集合。当n=0时为空树,n>0时为非空树。 任意一棵非空树满足: 有且仅有一个称之为根的节点 除了根节点以外的节点可以分为m(m>0)个互不相交的有限集,每一个集合本身又是一棵树,并且成为根的子数(SubTree)...

2019-03-22 17:52:26

阅读数 39

评论数 0

FlatBuffers

数据的序列化和反序列化 数据的序列化是程序代码里面必不可少的组成部分,当我们讨论到数据序列化的性能的时候,需要了解有哪些候选的方案,他们各自的优缺点是什么。 数据序列化的行为可能发生在数据传递过程中的任何阶段,例如网络传输,不同进程间数据传递,不同类之间的参数传递,把数据存储到磁盘上等等。通常情况...

2019-02-13 14:03:47

阅读数 34

评论数 0

项目笔记

本文只记录一些零散的小的知识点,并持续更新。 1、EditText默认不获取焦点(默认不弹出键盘),点击后再弹出键盘 //在EditText之前的一个控件设置 android:focusable="true" android:focusableInTouch...

2019-01-02 11:22:33

阅读数 29

评论数 0

requires JDK 1.8 or higher ??

我本来想引入Guava(Google Core Libraries for Java)的,目标是使用其中的一个工具类方法。以下方式添加依赖: implementation 'com.google.guava:guava:27.0.1-jre' 但是偏偏天不遂人意,出现了errors: Defau...

2018-12-18 17:39:10

阅读数 71

评论数 0

View.inflate()的参数到底该传什么

首先说一下产生问题的大致环境: ReclerView中,child布局我直接使用的是android.R.layout.simple_list_item_1,也就是在onCreateViewHolder方法中我使用的View.inflate(context,android.R.layout.sim...

2018-10-10 15:13:27

阅读数 410

评论数 0

AndroidStudio导入库后不显示

我们以前在AndroidStudio导入库的步骤一般是File–>New–>import Module,然后选择库,然后Project Structure–>app–>Dependencies–&amp...

2018-09-25 20:10:41

阅读数 176

评论数 0

day02-python数据类型和运算符

1、注释 2、变量 3、标识符和关键字 标识符由字母、下划线和数字组成,且数字不能开头。 python区分大小写。 不能使用python关键字作为变量名 命名规则有小驼峰、大驼峰 小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第...

2018-08-17 10:34:33

阅读数 53

评论数 0

day01-python的环境搭建

1、python的优点 简单、易学 免费、开源 可扩展性、可嵌入性 丰富的库 2、python的缺点 运行速度慢 中文资料匮乏 代码不能加密 3、环境搭建 https://www.python.org/downloads/ 下载安装即可,安装完后打开cmd,输入pyth...

2018-08-14 23:41:49

阅读数 56

评论数 0

build目录下面某个文件无法删除??

今天上班路上突然下起了暴雨,就像贺函给罗子君送伞那天下的一样大,而我不是罗子君,所以我带了雨衣……(偏了偏了……) 来到公司,电脑就开始抽风了,开机非常慢,开机后动不动就卡死。不断开关机操作后,趁着不怎么卡了就打开了AndroidStudio,然后一系列的报错啊,插件错、sdk错、jdk错……费...

2018-08-08 14:33:28

阅读数 230

评论数 0

ImageConverter引起的 invalid address or address of corrupt block 0xb7feab58 passed to dlfree

虹软人脸识别,其方法要传NV21格式的byte[], github上有一个虹软的Demo,是不是虹软工作人员写的不清楚,这个Demo里bitmap转NV21格式byte[]用的是一个第三方库https://github.com/gqjjqg/android-extend, 用法如下: I...

2018-07-18 23:20:57

阅读数 892

评论数 2

Service调优相关

Service是一个后台服务,专门用来处理常驻后台工作的组件。 即时通讯:service来做常驻后台的心跳传输。 核心服务尽可能轻,很多人喜欢把所有的后台操作放在一个service里面,这是不太好的,因为“树大招风”。应该核心服务专门做一个进程,跟其他所有后台操作隔离。 进程的重要性优先...

2018-06-27 23:24:02

阅读数 63

评论数 0

Kotlin笔记(4)

中缀表达式 使用中缀表达式就是想让代码更加简洁易懂 使用条件:必须是成员函数或扩展函数;必须只有一个参数;参数不可能是可变参数或默认参数。 class Person{ infix fun sayHelloTo(name:String){ println(&...

2018-06-13 16:36:01

阅读数 47

评论数 0

Kotlin笔记(3)

get和set方法 Kotlin中字段是私有的,会自动生成get、set方法。 fun main(args: Array<String>) { val person=Person() //表面看是直接访问了属性,其实是通过get...

2018-06-13 10:57:30

阅读数 78

评论数 0

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