自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(129)
  • 资源 (8)
  • 收藏
  • 关注

原创 binder

service_manager.c 中的main函数首先会去调用binder.c 的函数binder_open,然后又会调用binder.c 的函数binder_loop,我们看下binder_open和binder_loop函数分别做了什么.binder_open首先打开了binder驱动文件("/dev/binder")如下:bs->fd = open(driver, O_RDWR | O_CLOEXEC);然后通过mmap函数把物理内存和binder文件实现一层映射关系,如下:bs-&g

2021-02-26 17:25:46 138 1

原创 https理解

https://juejin.cn/post/6925296374628122632郭霖网站(后面用A表示)建好站之后,需要将网站的公钥提供(邮件提供??)给CA机构(后面用C表示),C将A给的公钥,以及A的域名,及有效时长等数据通过C的私钥加密大包制作成一个CA证书,返回给A。A将C返回的CA加密证书配置到网站服务器上即可3.每当有浏览器请求我们的网站A时,首先会将这个CA加密证书返回给浏览器,此时浏览器会用 CA 机构的公钥(PC预置的)来对这段数据解密。如果能解密成功,...

2021-02-24 11:51:29 267

原创 判断TXT文件的编码方式

判断TXT文件的编码方式,以避免打开时出现乱码(UniversalDetector) juniversalchardet-1.0.3.jar已上传,正在审核public static String getCharset(File file) { String DEFAULT_ENCODING = "GBK"; if (!file.exists()) { ...

2019-11-13 14:36:05 1461 1

转载 wait()、notify()和notityALL()

wait()、notify()和notityALL()wait方法是Object中的方法,这个方法的功能特性:1).执行wait方法的前提是当前线程已经获取到对象的锁,也就是wait方法必须在synchronized修饰的代码块或者方法中使用。 2).执行wait之后,当前线程会失去锁的所有权,并暂停执行,一直等待,直到其他线程调用notify()、notifyAll()把其唤醒或者所在线...

2019-02-13 14:14:40 496

原创 mk 解释

LOCAL_PACKAGE_NAME:当前编译出来的安装包的名字例如:LOCAL_PACKAGE_NAME := AmPmListening然后以如下结尾:include $(BUILD_PACKAGE)LOCAL_CERTIFICATE := platform  //使用的哪种key 来给apk签名LOCAL_MODULE:     当前编译出来的库的名字include $(BU...

2018-12-03 18:52:45 975 1

原创 extern

C/C++中extern关键字详解1. 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义,而此extern处只是声明,不是定义也就是说extern有两个作用,第一,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的...

2018-11-21 14:26:29 2036

原创 在ubuntu上编译ffmpeg

有些东西还是需要记录一下的,因为错误不能重复:1.在ubuntu下先要安装dos2unix make unzip等工具(apt-get install dos2unix),安装的过程中发现错误如下:Unable to locate package需要我们先执行sudo apt-get update,然后再来安装这些工具2.我们现在ubuntu下创建文件build_a

2018-01-10 17:06:52 441

原创 视频直播

一:先搭建window下的Nginx流媒体服务器参考:http://blog.csdn.net/ruwochunfeng/article/details/72911796           http://blog.csdn.net/lishimin1012/article/details/52130683二:推流:可以从pc端也可以从手机端PC端推流,PC端或者手机端引流

2017-10-31 15:59:01 351

原创 巩固C/C++

一:& 运算符: 当它后面跟一个变量名的时候,把这个变量名的地址取出来#include using namespace std;int main(){ int a=5; double b=10.4; cout<<"Address of a:"<<&a<<endl; cout<<"Address of b:"<<&b<<endl;}*运

2017-10-26 15:18:25 306

原创 ffmpeg的学习视频

一:富媒体时代FFmpeg视频处理技术手机录屏放到PC上看一般角度都不对:ffmpeg1.获取视频的旋转角度2.根据旋转角度来调整视频3.根据大小,比特率来压缩视频4.给视频加水印https://www.bilibili.com/video/av6474374/?from=search&seid=1500047667389730188二.Android ndk图

2017-10-23 15:46:13 511

原创 ffmpeg开发时ndk错误怎么定位

NDK出错信息如下:10-19 14:46:53.036 111-355/? I/ALSAModule: Buffer size: 6144(frames)  period Size: 2048(frames)  periods: 3 (buffersize=periodSize*periods)10-19 14:46:53.036 111-355/? I/ALSAModule: Late

2017-10-20 13:36:22 468

原创 ffmpeg ndk

基于eclipse:1.创建一个android project  kjcodec2.右键点击kjcodec然后new 一个Folder,名字叫jni3.把如下FFmpeg已经编译好的动态库以及include中的头文件拷贝进来4.创建一个class,KUtils.java, 包含本地方法public native int kCodec(String inPath,St

2017-10-13 14:20:40 580

原创 Android 平板通过USB口连接小票打印机

1.首先注册一个广播:用户三种操作会导致系统发广播,插或者拔USB设备,还有就是在USB授权框点击是或者否 private void initReceiver() {//授权对话框点击操作之后会发出系统广播 receiver = new BroadcastReceiver() { public void onReceive(Context cont

2017-07-25 17:32:06 8612 4

原创 js 开篇

5月中旬开始学习接触RN,并要求自己在半年之内能独立开发RN.后面发现RN需要React基础,所以开始学习一下React,后又发现React只是JS众多框架中的一种,所以先打算学习一下JS基础,所以就这么一层嵌套这一层的,到这里来了。上面是题外话,今天要记录的是JS概念Promise,直接上例子如下:var getJSON = function(url) { var promise

2017-07-17 15:18:21 219

转载 js

'use strict';Com.ready(function(){    var TopBar = require('topBar');//webpack是近期最火的一款模块加载器兼打包工具,基于它可以直接使用 require(XXX) 的形式来引入各模块,括号里面的参数是在                                   //webpack.config.js中

2017-05-17 16:52:49 296

原创 性能优化

http://www.cnblogs.com/dongweiq/p/5144186.html 通过android studio3.2的CPU Profiler来分析卡顿以及冷启动缓慢的原因https://www.jianshu.com/p/a3d91986b4c7 怎么利用MAT来分析hprof文件并定位到内存泄漏https://blog.csdn.net/guolin_b...

2016-11-29 17:50:13 354

原创 android热修复

APP上线之后,出现了严重bug怎么办?热修复是一个很好的解决方式。    怎么去做热修复参考的系列课程1讲的很清楚。需要注意到的是,参考的系列课程1的工程中本来就有两个dex文件,出现问题之后加上一个修复的dex文件总共有三个dex文件,所以他能正常修复。    一般情况下,我们的工程当中就只有一个dex文件,如果完全按照系列课程1去做的话就会有问题,就是CLASS_IS_PREVERI

2016-08-27 20:26:50 660

原创 Rxjava+Retrofit2+Okhttp3

@Path:所有在网址中的参数(URL的问号前面),如: http://102.10.10.132/api/Accounts/{accountId}@Query:GET访问时,URL问号后面的参数,如: http://102.10.10.132/api/Comments?access_token={access_token}@QueryMap:相当于

2016-08-01 17:46:38 2235

转载 MAT分析内存泄漏

链接:http://blog.csdn.net/guolin_blog/article/details/42238633MAT常用的功能:Histogram可以列出内存中每个对象的名字、数量以及大小。Dominator Tree会将所有内存中的对象按大小进行排序,并且我们可以分析对象之间的引用结构。摘取:这是Dominator Tree中比较常用的一种分

2016-05-13 16:21:37 441

原创 OKHttp源码解析好文连接

OkHttp3源码分析[任务队列] http://www.jianshu.com/p/6637369d02e7

2016-05-11 17:45:15 509

原创 性能调优好文

http://kaedea.com/2015/11/12/android-best-performance-points/

2016-05-05 11:27:24 335

原创 leak-canary

http://www.liaohuqiu.net/cn/posts/leak-canary/http://hukai.me/android-performance-memory/http://blog.csdn.net/gemmem/article/details/13017999

2016-04-29 14:22:30 429

转载 Rxjava

DEMO:https://github.com/laucherish/PureZhihuDhttps://github.com/MrFuFuFu/RxFacehttp://gank.io/post/56e80c2c677659311bed9841http://gank.io/post/560e15be2dca930e00da1083https://rea

2016-04-26 15:05:25 286

转载 okhttp是android平台最好的网络库

作者:碗盆链接:https://www.zhihu.com/question/35189851/answer/82992547来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。okhttp是android平台最好的网络库,欢迎打脸。volley是一个简单的异步http库,仅此而已。缺点是不支持同步,这点会限制开发模式;不能post大数据,所以

2016-04-26 10:01:37 441

原创 你的 Bitmap 究竟占多大内存?

http://bugly.qq.com/bbs/forum.php?mod=viewthread&tid=498实际情况:一张 522x686 的 PNG 图片,我把它放到 drawable-xxhdpi 目录下,在三星s6上加载,占用内存2547360B,就可以用这个方法获取到。自己计算的情况:一张522*686的PNG 图片,我把它放到 drawable-xxhdpi 目录

2016-04-16 18:40:10 1492

原创 事件分发

dispatchTouchEvent

2016-03-28 14:02:09 385

原创 蓝牙配对和连接

最重要三个类:BluetoothAdapter bluetoothAdapterBluetoothSocket btSocket;BluetoothDevice devicebluetoothAdapter = BluetoothAdapter.getDefaultAdapter();bluetoothAdapter.startDiscovery();//开始搜

2016-03-17 14:55:24 2407

原创 Android网络请求好文

Android网络请求心路历程(上)http://mp.weixin.qq.com/s?__biz=MzA3MDMyMjkzNg==&mid=402574975&idx=1&sn=2e7a23363957cafcf4e442b19d3a3e90&scene=0#wechat_redirectAndroid网络请求心路历程(下)http://mp.weixin.qq.com/s?__

2016-02-15 15:05:04 410

原创 remount

1. 需要获取手机的root权限,方法很多了,我用的是360一键Root,有时也用百度一键Root  2. 从其他手机拷贝sqlite3文件到PC,我是从模拟器copy出来的,为方便大家,附件就有,可以直接下载哈  3. 进入手机建立个临时目录开始---cmd---adb shell---mkdir /mnt/sdcard/tmp,然后退出到cmd下adb push

2015-12-31 10:10:30 1445

原创 synchronized

无论synchronized关键字加在方法上还是对象上,他锁住的都是对象。所以一个类中如果有2个或者多个synchronized修饰的方法时,当一个线程访问object的一个synchronized(this)同步代码块时,其他线程对object中所有其它synchronized(this)同步代码块的访问也将被阻塞。所以银行账户的例子中,存钱或者取钱的方法必须要加synchronized,也

2015-12-29 17:37:56 500

原创 8583 55

public class Field55Test { private static final String LINE_SP = System.getProperty("line.separator"); //测试报文55域 public static final byte[] BYTES = new byte[] { (byte) 0x9F, 0x10, 0x08,

2015-11-20 17:53:33 835

原创 简单的view 自定义

半年之前自己学习时写的一个小例子,贴上来作为笔记package com.test.defview2;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Bitmap;import android.graphics.BitmapFactory;impo

2015-10-02 16:52:01 488

原创 串口通信

接着上一篇,上一篇写的是产品模块通过usb口连接Android平板,Android平板通过usb host协议和产品模块通信。实际上产品模块还可以通过串口和模块进行通信,因为我们的平板和模块都连有串口线。当然模块还可以直接和pc通过串口或者usb口通信,如果pc是笔记本的话,可以通过usb转串口的线来和模块通信,usb口的话直接连接就行了。串口通信其实比较简单,android.serial

2015-09-27 16:48:50 865

原创 USB host 通信

公司主打支付产品,产品是和Android平板连接起来的。Android平板怎么和产品通信呢?串口或者USB口。串口通信比较简单,下篇再讲,此篇主要讲的是usb host通信。一:寻找UsbDevice并授权两种方法寻找usb device,1是通过Intent Filter来寻找,2是通过枚举所有的设备来寻找1.在manifest文件中添加如下代码: ...

2015-09-24 22:10:42 2371 2

原创 怎么给一个函数的运行设置超时

首先,为了使系统资源能更好分配,建立一个线程池: BlockingQueue workQueue = new LinkedBlockingQueue(3); //Integer.MAX_VALUE ExecutorService mExecutor = new ThreadPoolExecutor(4, 6, 4, TimeUnit.SECONDS, workQueue, new Th

2015-09-18 11:12:25 1356

原创 aidl理解

aidl笔记,aidl文件代码如下:package com.zhy.calc.aidl;interface ICalcAIDL{ int add(int x , int y); int min(int x , int y );}生成的java文件代码如下(编辑了一下,方便参考):package com.example.zhy_binder;public interfa

2015-09-17 16:05:35 758

原创 socket笔记

这次是在云端用java写一个serversocket来监听客户端socket的连接请求。总体的结构就是启动一个监听线程,如果监听到了客户端的连接请求,就另外启动一个子线程去负责和此客户端的交互,直至客户端发完数据,主动关闭socket,此时服务端的子线程socket也就关闭了。代码如下:package com.example.socket;import java.io.IOExcept

2015-09-13 09:04:37 460

原创 拆字

为什么要拆字?怎么拆?拆字,字面意思,拆字节,把字节拆开,一个字节总共才8位,拆开的话就拆成2个四位,那么四个比特位的表示范围是多少呢,0-15。 拆字一般是+030,目的是把数字转成此数据对应的字符(可以对照ASCII表来看),把不可见字符转为可见字符。那么0-15再加上0x30的话,其范围是48-63,所以一个字节要拆成两位,两个字接要拆成四位。    例如,我有字节数据0

2015-09-10 15:32:50 997

原创 常见内存泄漏原因

常见的内存泄露问题1.Cursor,stream,socket用完没close2.广播调用了registerReceiver注册后未调用unregisterReceiver()来注销3.构造Adapter时,没有使用缓存的convertView4.Bitmap对象不再使用时没有调用recycle()释放内存(3.0之前,之后不用了)5.context泄漏:应该用getAppli

2015-09-01 16:56:23 1648

转载 内存泄漏

如果您在Activity中定义了一个内部Handler类,如下代码: public class MainActivity extends Activity { private Handler mHandler = newHandler() { @Override public void handleMessage(Message msg) {

2015-09-01 16:14:36 397

juniversalchardet-1.0.3.jar

判断TXT文件的编码方式,以避免打开时出现乱码(UniversalDetector) 判断TXT文件的编码方式,以避免打开时出现乱码(UniversalDetector)

2019-11-13

修改FFmpeg源码,成功转码mp4为mkv,以及拼接mp3

修改FFmpeg源码,成功转码mp4为mkv,以及拼接mp3 注意:注意导入到eclipse之后要右键Android Tools--&gt;add Native support把工程设置为支持本地代码编译的工程 把sintel.mp4放在根目录下 拼接时要把两个mp3放到根目录下

2017-10-20

FFmpeg成功解码mp4为yuv

此工程通过FFmpeg成功把mp4文件解码为yuv:注意导入到eclipse之后要右键Android Tools--&gt;add Native support把工程设置为支持本地代码编译的工程 把sintel.mp4放在根目录下

2017-10-20

FFmpeg ndk

FFmpeg练习例子,熟悉FFmpeg编解码的使用以及ndk的使用

2017-10-13

Android 平板通过USB口连接小票打印机

已经自测过完全可以连接上对应的USB设备并打印

2017-07-25

双向链表的初始化删除及其插入操作

双向链表的初始化删除及其插入操作,欢迎大家下载

2010-10-20

数据结构视频(严蔚敏等)下载地址

数据结构(C语言版)[严蔚敏]视频教程和其他3所重点大学数据结构视频下载地址,

2010-10-20

空空如也

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

TA关注的人

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