自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 对最近Android项目中的视频编解码的总结

最近的项目是一个智能摄像头的项目,对于我们Android客户端来讲,肯定核心的是就是音视频编解码了。对于硬件端,也就是摄像头端,在我接手项目的时候,他们都已经订好了技术方案。往客户端(iOS,Android,PC)三端传输的数据是音视频分开的。音频通过G711u,视频通过H264。我们客户端这边需要做的就是解码H264拿到未压缩的视频帧,和转码G711u到PCM可以播放##视频解码视频解码,一开

2016-09-13 17:26:34 10251 2

原创 在你的Android Studio中使用Kotlin

一:先看看Kotlin 在维基百科上的介绍:Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发,Kotlin不仅可以编译成Java字节码,也可以编译成JavaScript,即使在没有JVM的环境中也可以运行。它首先是由一批Base在圣彼得堡的JetBrain的开发的先行版本,Kotlin的名字也是来源于波罗的海上一座名为 Koltin的岛。Kotlin虽

2016-09-01 09:30:38 4804

原创 java中的互斥锁,信号量和多线程等待机制

互斥锁和信号量都是操作系统中为并发编程设计基本概念,互斥锁和信号量的概念上的不同在于,对于同一个资源,互斥锁只有0和1 的概念,而信号量不止于此。也就是说,信号量可以使资源同时被多个线程访问,而互斥锁同时只能被一个线程访问互斥锁在java中的实现就是 ReetranLock , 在访问一个同步资源时,它的对象需要通过方法 tryLock() 获得这个锁,如果失败,返回 false,成功

2016-08-15 17:21:03 8935

原创 添加多个Fragment可以让最顶层Fragment监听回退键

需求一:关于Fragment监听回退键的文章,网上一搜一堆,无非就是通过实现接口的方式。现在我的需求是要向连续添加多个Fragment,我们知道Fragment是无法监听回退键的,点击回退键会直接退出Acitivity,我们的解决方式是通过添加Fragment到回退栈 public void add(Fragment fragment ,String tag) { ge

2016-07-15 16:09:32 2161

原创 libpng warning: iCCP: Not recognizing known sRGB profile that has been edited 错误解决

利用 mogrify +profile sRGB ./*.png  命令,其中的mogrify 工具自己下载。

2016-05-13 09:59:25 564

原创 LeetCode #347. Top K Frequent Elements

题目要求: Given a non-empty array of integers, return the k most frequent elements.For example, Given [1,1,1,2,2,3] and k = 2, return [1,2].即求出线最频繁的前K个数。要求时间复杂度不大于O(nlogn).明显就是先hash存起来,然后排序,拿到前k个值即可。写的不是

2016-05-02 15:38:33 881

原创 Unversal-Image-Loader 源码学习

开源框架ImageLoader的源码阅读笔记,重点集中在线程管理机制和网络请求和缓存管理。其它繁琐内容暂且不去管。基于最新的1.90版本。文中有错还请纠正。我也是个菜鸟。互相学习

2016-04-25 17:40:17 1068

原创 Django 学习中遇到的坑

1:在Django连接mysql 中时 注意要在  __init__.py文件中,我们添加如下代码:import pymysqlpymysql.install_as_MySQLdb()

2016-04-05 18:34:02 945

原创 配置Mysql时候遇到一些坑

很久没有整过这玩意了,现在都不会配置了。1:安装根目录下的data 和base 目录一定要指定好。2:不要自己去建立data文件夹

2016-03-30 10:21:12 333

原创 Python 实现简单的爬虫功能并保存到本地

昨天下班后忽然兴起想写一个爬虫抓抓网页上的东西。花了一个钟简单学习了python的基础语法,然后参照网上的例子自己写了个爬虫。#coding=utf-8import urllib.requestimport reimport os'''Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据urlopen 方法用来打开一个url

2016-03-29 18:19:55 13872 1

原创 最新EventBus源码详解

1:getDefault方法,明显看的出来这是单例模式的得到单例对象的方法 /** Convenience singleton for apps using a process-wide EventBus instance. */ public static EventBus getDefault() { if (defaultInstance == nu

2016-02-19 11:56:09 399

原创 重读AsyTask源码

一: 前言:先来无事,又重新看了一遍AsyTask源码,把一些新的给写下来。1:第一部分 private static final int CPU_COUNT = Runtime.getRuntime().availableProcessors(); private static final int CORE_POOL_SIZE = CPU_COUNT + 1; pr

2016-02-14 18:26:49 588

原创 ThreadPoolExecutor简介

首先看ThreadPoolExecutor的继承关系:其中AbstractExecutorService 又实现了ExecutorService接口。然而ExecutorService又继承了Executor接口。Executor接口里面只有一个回调方法execute(Runnable command); 需要注意的是,command是可以执行在 被调用线程里的 ,例如下面(虽

2016-02-14 17:41:44 1346

原创 BlockingQueue简介

BlockingQueue,根据其英文释义,为阻塞队列。根据队列的先进先出原则,可以得到其简单的示意图。下面是BlockingQueue的主要方法。对于插入操作,add、offer,put的三个方法的区别在于,offer方法比add更适用于空间有限制的queue,put方法则是用来等待当queue有空间的时候去插入。最后一个offer和put类似。但是可以用来指定等待时间。

2016-02-14 15:29:21 789

原创 简单的列表式自定义View

记得以前刚开始学安卓的时候,做过一个模仿蜻蜓FM的Demo。他那里面的每个List元素都是一个自定义View。当时没时间做,就跳过去。在上个公司很少写自定义View,感觉都有点生疏了。正巧赶上过年有空,并且感觉这个自定义View挺简单。拿出了半天的时间简单的实现下练练手。先看看他们的app的布局自定义虽然麻烦,但是可以减少布局的层次。我们就来实现他这个单独的自定义View,并且

2016-02-13 18:58:59 354

转载 Teach Yourself Programming in Ten Years

来源:http://www.norvig.com/21-days.htmlPeter NorvigWhy is everyone in such a rush?Walk into any bookstore, and you'll see how to Teach Yourself Java in 24 Hours alongside endless variations offe

2015-12-27 16:54:36 456

原创 获取手机屏幕分辨率以及DPI的三个方法

public static int getScreenWidthPixels(Activity mActivity) {        DisplayMetrics metric = getScreenMetrics(mActivity);        int widthPixels = metric.widthPixels;  // 屏幕宽度(像素)        return w

2015-12-14 15:59:02 17950

原创 来北京两个月小记

从十一前夕来到北京,到现在大约过了两个月有余。当初来北京的愿景很明朗,找个薪资高的工作,能进大公司更好喽,能跟着大牛一起学习岂不乐哉。可没想到找工作那么容易,面试的第一家公司就上了,本感觉面试的时候发挥的其实不怎么滴,好多问题都没有答上来。可能是公司急缺人吧。    不扯那些没用的,感觉最近这段时间有点怠慢了,想当年上学那时候,每天睡6,7个钟头,每天第一个到实验室。晚上将近10点回去还能跑个

2015-12-05 10:44:42 650

原创 整理下第一天的面试经历

这几天一直在拉勾和智联上投递简历。说实话。拉勾这个模式真心不错,基本上投出去的简历就算不合适也有了回复,果然专业。当然也是通过拉勾拿到了第一个offer,智联上投出去4,50份简历基本石沉大海。废话不多说。面试的这家公司是做智能硬件的初创公司,面试之前简单的了解了下。感觉还不错,挺适合我。面试我的是一个近30岁的大哥。坐定之后就让我先演示项目,这个早有准备,拿出手机就开讲,基本上就说说里面的功

2015-09-26 18:28:12 1022

原创 S3C2440协寄存器

1:协处理器:ARM微处理器可支持多达16个协处理器,用于各种协处理操作,在程序执行的过程中,每个协处理器只执行针对自身的协处理指令,忽略ARM处理器和其他协处理器的指令          2:   mcr是把r(CPU核寄存器)中的数据传送到c(协处理器寄存器)中,mrc则是把c(协处理器寄存器)中的数据传送到r(CPU核寄存器)中         3:ARM协处理器指令包括

2012-11-22 20:12:16 652

原创 linux下编程

1:linux下创建一个文件 int creat(const char *filename ,mode_t mode );     打开一个文件 int open(const *pathname,int flag,mode_t mode );    常见的打开方式:o_creat, 创建一个文件,  2:struct tm{  int tm_sec;

2012-11-02 20:18:03 373

原创 arm常用指令

1:400M主频,64M SDRAM 32bit数据总线。2:arm寻址方式:寻址方式就是寻找操作数或操作数地址的方式 目前ARM处理器支持9种寻址方式,分别是立即数寻址、寄存器寻址、寄存器偏移寻址、寄存器间接寻址、基址变址寻址、多寄存器寻址、相对寻址、堆栈寻址和块拷贝寻址。3:立即数寻址:操作数本身就在指令中给出,ADD R0,R0,#1   ;R0←R0+1

2012-10-17 09:29:38 964

转载 How much you really want to succeed

There was a young man who you know he wanted to make a lot of money and so he went to this guru, right? He told the guru “you know i wanna be on the same level you on”. And the guru said “if you wan

2012-08-29 17:35:58 1777

原创 C和指针 学习笔记(一)

1:未初始化和非法变量在定义指针时一定要初始化,确保其指向一个合法的地址。或者利用malloc()分配地址空间。2:在确认一个指针是否指向NULL时可以与0 比较, 这只是一个约定而已/3:在对NULL指针进行间接访问时容易出错!4: *(int*)100=25; *100=25; 两条语句的区别: 第一是非法。第二是吧25放到地址100处。5:辅助函数:statice类型,也

2012-08-28 18:38:17 443

转载 回调函数 c实现

下面创建了一个sort.dll的动态链接库,它导出了一个名为CompareFunction的类型--typedef int (__stdcall *CompareFunction)(const byte*,const byte*),它就是回调函数的类型。另外,它也导出了两个方法:Bubblesort()和Quicksort(),这两个方法原型相同,但实现了不同的排序算法。  void

2012-08-26 08:06:45 1378

转载 vim 剪切板

做这样一个小小的尝试,请打开浏览器,从网页上随便复制一段文字,然后打开VIM,用“p”粘贴一下,你会发现,什么都没有贴过来,呵呵……原因是这样的,不同于Windows,VIM具有多个剪贴板,并且和系统剪贴板是完全独立的,所以当你复制浏览器里的文字的时候,这段文字保存在了系统剪贴板,当你使用“p”来粘贴的时候,实际上,他读取的是VIM的剪切板。  怎么方便的将系统剪贴板的内容复制过来呢?简单

2012-08-25 20:22:16 1012

原创 GDB 笔记

基本知识:1:如果用GDB调试的话编译的时候加上-g 选项 不然调试的时候list不出 源代码。2:break 设置断点3:程序run之前的设置    1: 设置好参数 ste args    2: 路径,环境变量    path    3: 工作目录, 输入输出  cd x进入, pwd  查看,4: clear 清除断点/5:enable·[break][poi

2012-08-18 08:43:08 333

转载 C语言 运算符优先级

<!--@page {margin:2cm}p {margin-bottom:0.21cm; direction:ltr; color:#000000; text-align:justify; widows:0; orphans:0}p.western {font-family:"Times New Roman",serif; font-size:1

2012-08-17 19:04:33 808

原创 linux 各种表格

<!--@page {margin:2cm}p {margin-bottom:0.21cm; direction:ltr; color:#000000; text-align:justify; widows:0; orphans:0}p.western {font-size:10pt}p.cjk {font-size:10pt}p.ctl

2012-08-17 18:31:07 3802

空空如也

空空如也

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

TA关注的人

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