自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (2)
  • 收藏
  • 关注

转载 ffplay源码分析1

ffplay源码分析-------------------------------------------------------------------音视频同步部分1、音视频同步 main-> event_loop-> refresh_loop_wait_event-> video_refresh主函数里面,event_loop阻塞等待GUI操作发来的事件,在阻塞里面会有wait方法,再调用video_refresh进行音视频同步,并显示视频帧。static void vi

2021-05-24 00:57:03 127

原创 ffplay源码分析

ffplay源码分析-------------------------------------------------------------------解码部分4.4版本的源码简要分析,不会深究细节,仅以流程和原理为主,做为学习和记录之用,希望能在音视频领域有所成就。ffplay在windows平台,使用sdl显示渲染, 其余解码同步等流程基本一致,ffplay.c总计3000多行,不算太多,以本人有限的C语言功力,尝试解读一把。入口函数 Main 的重要函数int main(int argc,

2021-05-23 17:12:10 263

原创 android 版本特性摘要

Android KitKat全屏沉浸模式 RenderScript Compute 单CPU,无法调试 安全增强功能 SELinux(强制模式) 改进加密算法 Https证书改变Android Lollipop1.ART 运行时上独占运行,这个全新开发的运行时支持混合使用预先编译 (AOT) 代码、即时编译 (JIT) 代码和解释代码。它支持 ARM、x86 和 MI...

2018-09-09 01:35:49 461

原创 Android AOP(三):在Android中Javassist动态编译代码

Android AOP(三):在Android中Plugin Transform Javassist操作Class文件 Javassist作用是在编译器间修改class文件,与之相似的ASM(热修复框架女娲)也有这个功能,可以让我们直接修改编译后的class二进制代码,首先我们得知道什么时候编译完成,并且我们要赶在class文件被转化为dex文件之前去修改。在Transfrom这个api出...

2018-06-27 00:22:19 1492

原创 Android AOP(二):AspectJ在Android中实现Aop

AspectJ AspectJ实际上是对AOP编程思想的一个实践,当然,除了AspectJ以外,还有很多其它的AOP实现,例如ASMDex,但目前最好、最方便的,依然是AspectJ。AOP的用处非常广,从Spring到Android,各个地方都有使用,特别是在后端,Spring中已经使用的非常方便了,而且功能非常强大,但是在Android中,AspectJ的实现是略阉割的版本,并不...

2018-06-19 21:54:56 648

原创 Android AOP(一):APT Annotation Processing Tool 注解处理器

介绍 APT(Annotation Processing Tool)即注解处理器,是一种处理注解的工具,确切的说它是javac的一个工具,它用来在编译时扫描和处理注解。注解处理器以Java代码(或者编译过的字节码)作为输入,生成.java文件作为输出。 简单来说就是在编译期,通过注解生成.java文件。优点 使用APT的优点就是方便、简单,可以少些很多重复的代码。 用过Bu...

2018-06-11 00:52:30 368

原创 Realm 数据库笔记(一)

Realm 数据库ORMlite,greenDao这些框架都是在SQLite的基础上封装的ORM对象关系映射框架,简化了代码操作。 而今天的主角:Realm是一个可以替代SQLite以及ORM Libraries的轻量级数据库。 相比SQLite,Realm更快并且具有很多现代数据库的特性,比如支持JSON,流式api,数据变更通知,以及加密支持,这些都为安卓开发者带来了方便。不多介绍,更...

2018-05-23 18:13:25 759

转载 SAX解析xml characters方法要注意的问题

https://blog.csdn.net/shihua2010/article/details/52290344

2018-04-30 16:52:47 708

原创 How to connect adb wifi?

1、File-Settings-Plugins-Borwse Resportories  搜索ADB WIFI,  然后Install 安装,重启AndroidStudio2 设置调试模式Run/Debug Configurations3 手机打开 USB 调试模式后,用数据线将其连接至电脑,点击 ADB USB to WIFI 左下角出现----在Terminal窗口中输入:adb connec...

2018-04-29 21:14:44 308

原创 ComposeMessageFragment源码分析

ComposeMessageFragment源码分析ComposeMessageFragment源码分析基本情况源码分析生命周期onAttachonCreateonCreateViewonActivityCreatedonStartonResumeonwindowfocuschange监听器及事件方法说明事件方法说明基本情况ComposeMessageFragment 是用

2017-12-06 16:47:34 549

原创 算法 排序算法

算法 排序算法  我们通常所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。  排序算法大体可分为两种:   一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。 另一种是非比较排序,时间复杂度可以达到O(n),主要有:计数排序,基数排序,桶排序等。 冒泡排序冒泡排序是一种

2017-09-08 14:58:26 457

原创 android 使用ffmpeg音视频播放(二)

上篇是视频解码播放,这篇讲音频解码播放,解码过程同视频解码,不过取的是音频流,android播放用的audiotracker,因为实现简单。编写Android代码因为是audiotracker播放,在代理类里除了编写native方法,还要提供给c调用的返回audiotracker的设定采样率和声道的createAudioTrack()。public class YoungPlayer { p

2017-08-31 17:06:55 835

原创 android 使用ffmpeg音视频播放(一)

http://download.csdn.net/download/trinity2015/9958381>从这篇开始进入深水期,编译C/C++库,配NDK,编写native,编译APP,真累,全是坑。这篇的主要内容是讲ffmpeg解码视频文件并在android上显示播放。编译ffmpeg参照FFmpeg的Android平台移植—编译篇,编译需要注意的地方是版本、脚本的编写、对库的裁剪。编写Andr

2017-08-31 09:12:31 681

原创 android Java开发设计模式及在android中的应用解析

android Java开发设计模式及在android中的应用解析目录android Java开发设计模式及在android中的应用解析目录什么是设计模式设计模式的六大原则部分Java设计模式在android中的使用1单例模式2Builder建造者模式简单实现3工厂方法模式简单实现4策略模式简单实现5责任链模式简单实现Android源码中的责任链模式6观察者模式简单实现

2017-08-30 00:59:46 1964

原创 android Java多线程的使用解析

常见概念多线程:指的是这个程序(一个进程)运行时产生了不止一个线程。 并行与并发: 并行:多个cpu实例或者多台机器同时执行一段处理逻辑,是真正的同时。并发:通过cpu调度算法,让用户看上去同时执行,实际上从cpu操作层面不是真正的同时。并发往往在场景中有公用的资源,那么针对这个公用的资源往往产生瓶颈,我们会用TPS或者QPS来反应这个系统的处理能力。线程安全:经常用来描绘一段代码。指在并

2017-07-20 01:25:35 371

原创 android 自定义控件的几种形式

简单来说自定义控件就是继承自android api里的view 或者 viewgroup及其子类,根据需要重写相关方法来实现满足自定义显示和交互的控件。 如果说要按类型来划分的话,自定义View的实现方式大概可以分为三种,自绘控件、组合控件、以及继承控件。一、自绘控件1.自定义View自定义View我们大部分时候只需重写两个函数:onMeasure()、onDraw()。onMeasure负责

2017-07-12 00:51:39 640

原创 android Universal-Image-Loader 使用及解析

如果说评价一下哪个图片开源库最被广泛使用的话,我想应该可以说是Universal-Image-Loader,在主流的应用中如果你随便去反编译几个,基本都能看到他的身影,它就像个图片加载守护者,默默的守护着图片加载。相信很多人对这个异步加载图片框架还不是很熟,再加上最近它更改优化了好几个地方,而网上的大部分资料还是以前的,于是花了几天时间专门的研究了下开源框架Universal-Image-Loade

2017-07-08 01:58:34 230

转载 android 广播机制

转载自http://www.cnblogs.com/lwbqqyumidi/p/4168017.html1.Android广播机制概述Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器)。广播作为Android组件间的通信方式,可以使用的场景如下:1.同一app内部的同一组件内的消息通

2017-07-06 16:54:49 258

原创 android 事件传递机制

与touch事件相关的3个方法:public boolean dispatchTouchEvent(MotionEvent ev); //用来分派event public boolean onInterceptTouchEvent(MotionEvent ev); //用来拦截event public boolean onTouchEvent(MotionEvent ev);

2017-07-05 16:02:45 388

原创 android service 生命周期及场景

android service 生命周期及场景Service作为android四大组件之一,在每一个应用程序中都扮演着非常重要的角色。它主要用于在后台处理一些耗时的逻辑,或者去执行某些需要长期运行的任务。必要的时候我们甚至可以在程序退出的情况下,让Service在后台继续保持运行状态。使用Service可以在后台执行长时间的操作( perform long-running operations in

2017-07-04 15:56:39 968

原创 android activity 生命周期及启动模式

android activity 生命周期及启动模式lifetime 官方图片Activity是由Activity栈进管理,当来到一个新的Activity后,此Activity将被加入到Activity栈顶,之前的Activity位于此Activity底部。Acitivity一般意义上有四种状态:1.当Activity位于栈顶时,此时正好处于屏幕最前方,此时处于运行状态;2.当Activity失去了

2017-07-03 16:15:19 355

原创 android BLE4.0 流程图

BLE蓝牙在android上连接,底层实现读取的详细执行过程:1、扫描:使用BluetoothAdapter.startLeScan来扫描低功耗蓝牙设备,获取设备对象device,通过device.address,device.name获取设备名称和mac地址,通过mac地址分配每个设备唯一名称,例:体温计1,体温计2...。在扫描到设备的回调函数中获得所有device对象,并使用Bl

2016-05-22 13:51:43 2619

ffmpegDemo-V1

android平台使用ffmpeg解码视频文件进行视频播放,对网上常见的一些解码过程进行了一些优化,ffmpeg解码音频文件进行音频播放,两个功能分开做的,后期完善并最终实现功能

2017-08-31

ffmpegDemo

android平台使用ffmpeg解码视频文件进行视频播放,最简单的视频DEMO,对网上常见的一些解码过程进行了一些优化。

2017-08-31

空空如也

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

TA关注的人

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