自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

疾风剑豪

当一种爱好,变成一种习惯

  • 博客(528)
  • 资源 (42)
  • 收藏
  • 关注

原创 Linux大全

Activity以singleTask模式启动,intent传值的解决办法 ---- https://blog.csdn.net/harryweasley/article/details/46557827/Linux 串口编程学习记录(termios.h) ---- https://blog.csdn.net/Flag_ing/article/details/125644852。

2023-04-12 11:36:20 1906 1

原创 android UI到系统揭秘

从Android UI 到系统探究 Binder IPC

2022-08-15 15:09:55 755

原创 PLT hook 方案 PLT hook

PLT hook 方案 PLT hook字节跳动开源 Android PLT hook 方案 bhook --- https://zhuanlan.zhihu.com/p/401547387inline hook 的功能无疑是最强大的 inline hook () ->.dyn.aps2.dyn.aps2LT hook 并不是修改磁盘上的 ELF 文件,而是在运行时修改内存中的数据,因此我们主要关心的是执行视图,即 ELF 被加载到内存后,ELF 中的数据是如何组织和存放的。 size_t (*st

2022-07-05 13:16:40 555

原创 文读懂 View 的 Measure、Layout、Draw 流程

美团App 插件化实践 ---https://tech.meituan.com/2017/10/12/android-hydra.html这个思路是对的,但是远不够。例如,Google 自己的Support包里面的一个类android.support.v7.view.ContextThemeWrapper会生成一个新的Theme保存:ContextThemeWrapper会生成一个新的Theme保存: Theme()ContextThemeWrapper会生成一个新的Theme保存:pu.

2022-05-26 13:48:26 194

原创 深入探索Android稳定性优化

https://juejin.cn/post/6844903972587716621--深入探索Android稳定性优化https://mp.weixin.qq.com/s/g-WzYF3wWAljok1XjPoo7w?-//-Android 平台 Native 代码的崩溃捕获机制及实现CountDownTimer.onFinish on a null()四、捕捉native crash-native crash-nativenative crash-native()...

2021-09-03 16:21:56 492

原创 android

4、AsyncTask的缺陷和问题,说说他的原理。AsyncTask是什么?AsyncTask是一种轻量级的异步任务类,它可以在线程池中执行后台任务,然后把执行的进度和最终结果传递给主线程并在主线程中更新UI。AsyncTask是一个抽象的泛型类,它提供了Params、Progress和Result这三个泛型参数,其中Params表示参数的类型,Progress表示后台任务的执行进度和类型,而Result则表示后台任务的返回结果的类型,如果AsyncTask不需要传递具体的参数,那么这三个泛型参

2021-01-20 11:51:39 456

原创 Bitmap源码解析与抛弃google提供的压缩算法

Bitmap源码解析与抛弃google提供的压缩算法Android程序员如何切合移动互联网的“星辰和荆棘”http://ddrv.cn/a/213673Bitmap图片压缩,大图加载防止OOMhttps://dandanlove.blog.csdn.net/article/details/105677102史上最全!押题率90%的 Android 中高级工程师面试复习大纲及真题答案整理(中篇)https://www.it610.com/article/1344194310530215.

2021-01-11 16:15:55 341 1

原创 自己手写RecycleView加深对RecycleView理解

自己手写RecycleView加深对RecycleView理解https://blog.csdn.net/zmm911zmm/article/details/91351326Stack getScaledTouchSlopgetScaledTouchSlop TouchSlop StackonInterceptTouchEvent ,onTouchEventStack getScaledTouchSlopgetScaledTouchSlop区分手势点击和滑动的距离 界...

2020-12-25 15:54:05 272

原创 数据库框架:GreenDao 实现原理

数据库框架:GreenDao 实现原理Android数据库greenDAO框架用法和源码分析https://blog.csdn.net/duanyy1990/article/details/50955228greenDAO -> OrmLite、AndrORM。object/relational mappingOrmLite、AndrORM。 LitePal等数据库相比ActiveOrm、LitePal等数据库相比LitePal等数据库相比greenDAO Entity

2020-12-15 13:23:39 305

原创 架构进阶,Dagger2的原理及使用详解

架构进阶,Dagger2的原理及使用详解https://www.jianshu.com/p/04d9db541155解决Android 8.0和9.0无法获取SSID (unknow ssid)https://blog.csdn.net/weixin_39706415/article/details/84571421@Named @Scope @Inject @Provides注解提供,但是呢,这个@Provides只能在固定的模块中,也就是@Module注解,我们查找的时候,不是直接去找.

2020-12-03 16:59:17 3667

原创 依赖注入框架:ButterKnife 实现原理

依赖注入框架ButterKnife的使用与原理解析https://blog.csdn.net/AndrExpert/article/details/103726082

2020-11-18 16:54:59 231

原创 Android内存优化

Android内存优化(六)LeakCanary使用详解https://cloud.tencent.com/developer/article/1034262install方法会返回RefWatcher用来监控对象,LeakApplication中还要提供getRefWatcher静态方法来返回全局RefWatcher。最后为了举例,我们在一段存在内存泄漏的代码中引入LeakCanary监控,如下所示。LeakCanaryleakcanary-android-no-op07LeakCanar

2020-11-04 17:14:07 762

原创 事件总线框架:EventBus 实现原理

事件总线框架:EventBus 实现原理EventBus框架原理解析https://blog.csdn.net/qq_30124547/article/details/108380894EventBusAIDL 观察者模式。Subscription:订阅者信息,包含订阅主体及方法,一个订阅主体可能会监听多个Event事件,所以订阅主体会被多次引用EventBus Poster:主要为处理任务的线程,主要三个实现AsyncPoster和BackgroundPoster实现差不多,都是使.

2020-10-27 13:38:28 440

原创 图片加载框架:Glide 实现原理

图片加载框架:Glide 实现原理Glide图片加载框架Glide简单使用和缓存原理https://blog.csdn.net/Wengwuhua/article/details/105892814//with load intoAppGlideModuleapplyOptions GlideBuilderbuilder.setDefaultRequestOptionsRequestOptionsAndroid 图片加载框架Glide主流程源码分析https:/...

2020-10-20 15:16:41 333

原创 一张图看懂Rxjava的原理

https://www.cnblogs.com/jymblog/p/11731546.html一张图看懂Rxjava的原理subscribeObservable.create ObservableOnSubscribecreate map subscribeOn map observeOn flatMapsubscribe observer subscribeActualObservableXXXsubscribe注入观察者从左往右的...

2020-10-12 09:58:56 687

原创 网络封装框架:Retrofifit 实现原理

网络封装框架:Retrofifit 实现原理Java的代理和注解https://www.jianshu.com/p/04e60bee2d80Retrofi2源码解析——动态代理和注解的实战应用https://www.jianshu.com/p/542ca9eabe2candroid 事件分发,解决由于listview中实时刷新 ,导致子view点击事件失效http://www.360doc.com/content/19/0606/20/62778851_840851629.shtml

2020-09-30 14:48:13 342

原创 网络底层框架:OkHttp 实现原理

OkHttp3简单使用教程(一):请求和响应https://www.jianshu.com/p/f3f228d3598c\nHTTP请求报文主要由请求行、请求头部、请求正文3部分组成.请求行:由请求方法,URL,协议版本三部分构成,之间用空格隔开请求 Content-Language请求zhengwen/n23 URL带的参数HTTP响应报文格式:HTTP响应报文主要由状态行、响应头部、响应正文3部分组成HTTP响应报文主要由状态行、响应头部、响应正文3部分组...

2020-09-28 11:08:18 932

原创 浅谈Android设计模式

浅谈Android设计模式https://blog.csdn.net/xiaoming100001/article/details/80302143干货|安卓APP崩溃捕获方案——xCrashhttp://blog.itpub.net/69945252/viewspace-2674668/instance//双重检查模式DCL,在某些情况下会失效if instance == nullsynchronized instance == null /静态内部类单例模式...

2020-09-21 15:36:23 248

原创 Android开发组件化的一些思考

Android开发组件化的一些思考https://www.jianshu.com/p/0f03602d4759ARouter LiveDataBuspublicImplementation = []other.each { implementation project(it)}sourceSets { ext.android.isApplication manifest.srcFile ''}组件化跳转分析ARouter然...

2020-09-16 14:10:11 184

原创 Android 插件化和热修复知识梳理

代理模式P.func InvocationHandler.invokeProxy.newProxyInstanceProxy.newProxyInstance(ClassLoader loader,Class<?>[] interfaces,InvocationHandler h)动态代理动态代理对象P执行方法调用顺序:P.func==>InvocationHandler.invoke==>目标类实例.func动态代理实现需要3步:1 创建目标类接口 及 目

2020-09-10 11:31:30 179

原创 android 图片 LRUCache 原理 Glide 源码解析(下)

RequestManagerRetrieverRequestManager FragmentManager fm = activity.getSupportFragmentManager(); FragmentManager fm = fragment.getChildFragmentManager();fm.beginTransaction.add() ModelLoader<T, InputStream> streamModelLoader = Glide.bui...

2020-09-03 09:53:17 208

原创 android 图片 LRUCache 原理 Glide 源码解析(上)

Android 库 图片库比较https://www.jianshu.com/p/44a4ee648ab4ImageLoader Picasso Glide FrescoMemoryCache DiskCacheRequestManager,通过Engine GetDataInterface:数据获取接口,负责从各个数据源获取数据。比如MemoryCache DiskCacheDisplayer ProcessorDisplayer ImageLo...

2020-08-31 11:52:47 452

原创 Android CoordinatorLayout 自定义Behavior和Rxjava使用总结,Jetpack,LiveData

DataSource DataSourceFactory LiveData ViewModelBuilding MVP apps: MVP Part I(MVP官网方法) ->http://www.gwtproject.org/articles/mvp-architecture.html#presenterAndroid Jetpack LiveData解析 ->https://www.jianshu.com/p/b04abbb766e0Android Jetpack->ht.

2020-08-30 13:07:29 393

原创 详解4字节对齐

所谓的字节对齐,就是各种类型的数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这个就是对齐。我们经常听说的对齐在N上,它的含义就是数据的存放起始地址%N==0。具体对齐规则会在下面的篇幅中介绍。首先还是让我们来看一下,为什么要进行字节对齐吧。各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如有些架构的CPU,诸如SPARC在访问一个没有进行对齐的变量的时候会发生错误,那么在这种架构上必须编程必须保证字节对齐。而有些平台对于没有进行对齐.

2020-08-18 15:14:28 3174

原创 ART运行时垃圾收集机制简要介绍和学习计划

1.ART运行时堆的创建过程。 2.ART运行时的对象分配过程。 3.ART运行时的垃圾收集过程。

2020-08-17 14:18:53 481

原创 Dalvik虚拟机为新创建对象分配内存,垃圾收集(GC)过程分析

Dalvik虚拟机为新创建对象分配内存的过程分析

2020-08-13 10:18:19 313

原创 RxJava2 系列 -1:一篇的比较全面的 RxJava2 方法总结

RxJava2 系列 -1:一篇的比较全面的 RxJava2 方法总结看了许多讲解RxJava的文章,有些文章讲解的内容是基于第一个版本的,有些文章的讲解是通过比较常用的一些API和基础的概念进行讲解的。但是每次看到RxJava的类中的几十个方法的时候,总是感觉心里没底。所以,我打算自己去专门写篇文章来从API的角度系统地梳理一下RxJava的各种方法和用法。1、RxJava 基本1.1 RxJava 简介RxJava是一个在Java VM上使用可观测的序列来组成异步的、基于事件的程...

2020-08-12 22:20:19 616

原创 Dalvik虚拟机Java堆创建过程分析

Dalvik虚拟机Java堆创建过程分析

2020-08-11 13:45:39 200

原创 Android运行时ART简要介绍和学习计划

在上篇中,我们分析到了OatFile的begin_和end_变量分别被指定到了符号oatdata和oatlastword指定的位置。那么指定的这一段数据到底是什么呢?本文会接下来分析。首先来看OatFile::Setup的实现:bool OatFile::Setup() { if (!GetOatHeader().IsValid()) { LOG(WARNING) << "Invalid oat magic for " &l...

2020-08-06 19:32:00 342

原创 LeakCanary原理分析

LeakCanaryclass Helper {}class Utils { public static Helper helper = new Helper();}static Helper helper = new Helperclass ExampleApplication : Application() { val leakedViews = mutableListOf<View>()}class MainActivity : Activit...

2020-08-06 11:02:14 514

原创 Android Region代码分析

一、Region的定义和合法性检查在Android系统中,定义了Region的概念,它代表屏幕上的一个区域,它是由一个或多个Rect组成的,代码位于frameworks/native/libs/ui/Region.cpp。而Rect则代表屏幕上的一个方形区域,这个区域可能是不可见的,部分可见或者完全不可见的。从代码实现的角度来看Region的实现,它拥有一个私有的数据成员变量:mStorage,它的类型为Vector<Rect>:1.mStorage是一个有序数组,数组元素类型为Rec.

2020-07-31 11:35:42 489

原创 Android JNI 通过C++调用JAVA

1. JNIEnv对象 对于本地函数 JNIEXPORT void JNICALL Java_video1_TestNative_sayHello(JNIEnv * env, jobject obj) { cout<<"Hello Native Test !"<<endl; } JNIEnv类型代表Java环境。通过这个JNIEnv*指针,就可以对Java端的代码进行操作。如,创建Java类得对象...

2020-07-30 20:40:39 236

原创 Android应用程序窗口(Activity)的测量(Measure)、布局(Layout)和绘制(Draw)过程分析

从前面Android应用程序窗口(Activity)的绘图表面(Surface)的创建过程分析一文还可以知道,每一个Java层的Surface对象内部都有一块画布,这块画布是通过它的成员变量mCanvas所指向的一个Java层的CompatibleCanvas对象来描述的。so是一个类型为so_t的结构体,它的成员变量canvas描述的是Java层的Surface类的成员变量mCanva在类中的偏移量,因此,通过这个偏移量就可以获得参数clazz所指向的一个Java层的Surface...

2020-07-29 13:16:07 514

原创 Android应用程序窗口(Activity)的绘图表面(Surface)的创建过程分析

ndroid应用程序窗口(Activity)的绘图表面(Surface)的创建过程分析

2020-07-27 21:36:22 604

原创 Android应用程序窗口(Activity)与WindowManagerService服务的连接过程分析

Android应用程序窗口(Activity)与WindowManagerService服务的连接过程分析

2020-07-26 15:18:31 372

原创 Android应用程序窗口(Activity,Window,View)原理解析

Android应用程序窗口(Activity)的运行上下文环境(Context)的创建过程分析ActivityThreadpublic final class ActivityThread { private Activity performLaunchActivity(ActivityClientRecord r, Intent customIntent) { activity = mInstrumentation.newActivity( ...

2020-07-23 22:02:34 495

原创 Dalvik虚拟机源码初探

Dalvik虚拟机JNI方法的注册过程分析这些Bridage函数实际上仍然不是直接调用地调用JNI方法的,这是因为Dalvik虚拟机是可以运行在各种不同的平台之上,而每一种平台可能都定义有自己的一套函数调用规范,也就是所谓的ABI(Application Binary Interface),这是一个API(Application Programming Interface)不同的概念。ABI是在二进制级别上定义的一套函数调用规范,例如参数是通过寄存器来传递还是堆栈来传递,而API定义是一个应

2020-07-22 20:59:51 423

原创 hashmap ArrayList LinkedHashMap等原理解析

android的hashmap 原理以及源码探究Android基础-Android中的HashMap浅析

2020-07-20 21:29:27 194

原创 热修复插件化原理分析

插件化原理分析插件化要解决的三个核心问题:类加载、资源加载、组件生命周期管理。类加载:Android中常用的两种类加载器:PathClassLoader和DexClassLoader,它们都继承于BaseDexClassLoader。DexClassLoader的构造函数比PathClassLoader多了一个,optimizedDirectory参数,这个是用来指定dex的优化产物odex的路径,在源码注释中,指出这个参数从API 26后就弃用了。PathClassLoader主要用来加载系统类和

2020-07-15 22:50:10 268

原创 RecyclerView动画源码浅析

RecyclerView动画源码浅析adapter.notifyItemRemoved(1)会回调到 RecyclerViewDataObserver:adapter.notifyItemRemoved RecyclerViewDataObserveronItemRangeRemovedtriggerUpdateProcessormAdapterUpdateDuringMeasureconsumePendingUpdateOperationsdispatchLay...

2020-07-14 22:16:41 219

尚硅谷Android高级开发技术之JNI和NDK开发

这算是尚硅谷培训学校推出的Android视频教程的高级教程了吧,而本套教程正是在Android开发中的核心重点开发技术(JNI/NDK),我们知道,Android的底层是Linux且Java的性能并不如C/C++好,所以在开发一些需要超高性能的App的时候就需要通过JNI来直接调用Android底层框架所提供的方法了(比如说手机游戏开发或者和系统底层紧密结合的功能开发),本教程照顾了不会C/C++的同学,会讲一些C/C++的基本知识,是一个JNI/NDK开发不可多得的教程。

2018-09-19

基于MVP-Clean + Weex + RxJava2 + Retrofit + Dagger2 + MTRVA的综合应用

项目介绍: 架构采用MVP-Clean,项目简洁、易维护、易测试、高内聚、低耦合 UI风格采用Material Design,清新、简洁和直观 跨端采用Weex,涉及weex页面、自定义Module、自定义Component、自定义Adapter、与原生webview同步(支持返回键拦截) RxJava的操作符巧妙运用 Dagger2与Butterknife实现依赖注解,解耦,方便测试等 Retrofit和Okhttp实现网络架构,实现多种扩展,例如常见的日志规范打印,不用抓包以及缓存配置等等 Glide实现图片加载,配合GlideTransformations实现多种变换,如圆角、遮罩等 MTRVA轻松处理RecyclerViewAdapter的数据,实现多列表效果更佳 大量自定义控件,如Camera、Matrix、贝塞尔曲线、高斯模糊、Behavior、事件拦截、沉浸式、QQ侧滑菜单等等运用 大量动画,如lottie、补间动画、3D动画、属性动画(ObjectAnimator、ValueAnimator、View.animate和PropertyValuesHolder)和转场动画(自定义Transition)运用 视频列表滑动支持小窗口播放,本地保存 支持图片预览、编辑(如裁剪、压缩)和保存本地 支持下载机制,通知栏回显(兼容8.0),下载完成可打开 支持扫码,扫码支持访问链接和下载,界面仿微信,支持本地图片扫码 支持在线更新、在线反馈和Crash监控 webview支持x5及常见用法,例如缓存、预加载、内存优化、增量更新、并行加载、下载等

2018-09-18

android 断点续传(绝壁好用,这个demo我直接添加到项目中了,大文件下载不用担心断网和网络切换)

android 断点续传(绝壁好用,这个demo我直接添加到项目中了,大文件下载不用担心断网和网络切换)。有网就下载,没网停会等会有网继续下载。

2018-09-07

高仿IOS 高仿iOS滚轮实现城市选择器

高仿iOS滚轮实现城市选择器,高仿iOS滚轮实现城市选择器,高仿iOS滚轮实现城市选择器。

2018-07-26

完美得解决listview和edittext抢夺焦点和数据混乱问题

完美得解决listview和edittext抢夺焦点和数据混乱问题

2018-07-22

2018718(最新eclipse 下android开发工具包),集成了sdk,SDKManager,eclipse都是配套的,我一直再用它开发

2018718(最新eclipse 下android开发工具包),集成了sdk,SDKManager,eclipse都是配套的,我一直再用它开发 adt-bundle-windows-x86_64(最新链接,请到我的百度网盘下载: 链接:https://pan.baidu.com/s/1tnUk9IXC7RoSMaxHeWOhIA 密码:j47v)

2018-07-18

视频监控demo

值得学习的视频监控,实时获取,高清,标清,截图,回放

2018-07-09

android在原生代码中使用POSIX通信面向连接的TCP客户端和服务端。

android在原生代码中使用POSIX通信面向连接的TCP客户端和服务端。 android jni下的c++开发,

2018-06-08

android studio cmake android ndk-jni动态库开发

android studio cmake android ndk-jni动态库开发,这个可以在cmake下链接生成多个so库

2018-06-04

android pm2.5分割线自定义横线view(非浸入式)绿,棕,红

根据android大师鸿洋的HorizontalProgressBar改写而来,我这个要更吊一些。android pm2.5分割线自定义横线view(非浸入式)绿,棕,红

2018-05-31

android c++高级编程 ndk示例源码

这个是eclipse下的 android c++高级编程 ndk示例源码,非常全面适合学习开发。

2018-05-25

Android 滚动时间选择器,爱上租时间选择器

Android 滚动时间选择器,爱上租时间选择器,这个是高仿爱上租时间选择器。

2018-05-23

Dagger2 @Component

前很多blog和技术网站,很多文章都在讲Dagger2 的使用,一般都是在Application中生成一个AppComponent,然后其他的功能模块的Component依赖于AppComponent,但是有些文章中使用的方式是@Component(modules = PreseterModule.class, dependencies = AppComponent.class),也有使用@Subcomponent(modules = PreseterModule.class)方式提供Component的,那么两者之间有什么明显区别?本文就来详细解释一下。

2018-05-10

Rxjava2 + retrofit2 + MVP + Dragger2

Android App基本mvp+dagger(dagger2.android)+rxjava2+retrofit+ormdb框架,有效的API+登陆登出完整闭环.Base Activity,Presenter ,View,Model 的抽象封装, http 请求封装&错误统一处理 https://www.jianshu.com/p/04ce0c91e3ee-》这家伙屌了一笔啊。 Rxjava2 + retrofit2 + MVP + Dragger2 + 应该是当前Android 开发主流框架。

2018-05-09

android微信支付(代码请完整带走)保准能用

android微信支付(代码请完整带走)保准能用,不用谢。android微信支付最新sdk接入总结。

2018-03-26

android 高仿微信多图片选择,拍照,兼容android7.0权限配置。超级好用

Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等,

2018-02-11

statusView内容侵入状态栏(非常好用)

statusView内容侵入状态栏(非常好用),内容侵入状态栏,状态栏深色字体,普通状态栏渐变

2017-12-11

android( 2017127_ffmpeg微信小视频录制和快速压缩,这个录制视频和压缩率太高了。

( 2017127_ffmpeg微信小视频录制和快速压缩,这个录制视频和压缩率太高了。

2017-12-07

android kotin+ ftp视频上传+android7.0 语音识别+百度地图+ 图片和拍照

android kotin+ ftp视频上传+android7.0 语音识别+百度地图+ 图片和拍照

2017-12-06

Android UI仿QQ好友列表分组悬浮效果

Android UI仿QQ好友列表分组悬浮效果,并且还有刷新的功能

2017-11-21

flutter_test.rar

附录 本文涉及到相关源码文件 flutter/shell/common/ - vsync_waiter.cc - engine.cc - animator.cc - shell.cc - rasterizer.cc flutter/shell/platform/android/ - vsync_waiter_android.cc - platform_view_android_jni.cc - library_loader.cc - io/flutter/view/VsyncWaiter.java flutter/runtime/runtime_controller.cc flutter/synchronization/pipeline.h flutter/fml/message_loop_impl.cc flutter/lib/ui/window/window.cc flutter/lib/ui/window.dart flutter/lib/ui/hooks.dart lib/src/widgets/framework.dart lib/src/widgets/binding.dart lib/src/scheduler/binding.dart lib/src/semantics/semantics.dart lib/src/rendering/ - binding.dart - object.dart - view.dart

2020-06-21

最简单的基于FFmpeg的移动端例子附件:SDL Android HelloWorld

Android程序SDL2类库使用说明 简单记录一下Android程序使用SDL2类库的方法。这部分的信息可以参考SDL2源代码目录中的README-android.txt文件。SDL2使用的步骤可以分为以下步骤:

2020-04-01

UVCCamera.rar

业余时间捣鼓了下Android 板子连接多个usb摄像头的方案,一开始使用系统的CameraV1的api,但是取到的摄像头数量一直不对(api: Camera.getNumberOfCameras()),然后又去网上查了方案(传送门:https://blog.csdn.net/xiangzhihong8/article/details/82877901)发现Android P之后原生就支持多摄像头,心里美滋滋,这么快就大结局了,但是果然天不遂人愿,于是改用CameraV2的api,但还是识别不到完整的摄像头列表。没查到具体原因,但是猜测是跟Android板子有关,虽然在软件上已经支持多摄像头,但是底层可能还是限制了最大连接数量。之后去应用市场下了一个usb摄像头app,发现居然是可以正常识别出所有的摄像头,遂反编译之,发现是使用了UVCCamera。这个开源库貌似已经很久没有维护,并且根据之前使用的经验来看也有不少bug(主要是兼容性方面),但是项目中用到的硬件只有一个型号,并不需要做太多设备兼容性的适配,因此还是可以拿来一用。下面就分享一下UVCCamera的接入过程。 。

2020-04-01

AirHockeyTouch1.rar

opengl曲棍球游戏,了解着色器,纹理 1. Shader Shader其实就是一段执行在GPU上的程序,此程序使用OpenGL ES SL语言来编写。它是一个描述顶点或像素特性的简单程序。在opengles中常用的shader有两种:vertex shader和fragment shader。Geometry Shader(几何着色器)是继Vertex Shader和Fragment Shader之后,由Shader Model 4引入的新的着色器。还有一个compute Shader由Shader Model 5引入的提供通用计算能力的着色器。

2020-03-29

MediaCodec编码PCM为aac音频实现边播边录(一).zip

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。

2020-03-19

MediaCodec编码PCM为aac音频实现边播边录(二).zip

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。

2020-03-19

FFmpeg解码流程.zip

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。

2020-03-19

FFmpeg对音频数据重采样生成PCM数据.zip

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。

2020-03-19

FFmpeg+OpenSL ES 完成音频播放.zip

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。

2020-03-19

C++多线程解码音频数据.zip

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。

2020-03-19

C++多线程,生产者和消费者模型以及C++全局调用Java方法.zip

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。

2020-03-19

C++队列缓存AVpacket.zip

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。

2020-03-19

UVCCameraDemo.rar

  AndroidUSBCamera基于[saki4510t/UVCCamera](https://github.com/saki4510t/UVCCamera)开发,该项目对USB Camera(UVC设备)的使用和视频数据采集进行了高度封装,能够帮助开发者通过几个简单的API实现USB Camera设备的检测、连接、预览和音视频数据采集,最重要的是手机无需root,只需支持otg功能即可驱动。主要功能包括:   (1)支持USB Camera设备检测,画面实时预览;   (2)支持本地录制mp4格式视频,支持实时获取音视频数据流;   (3)支持jpg格式图片抓拍;   (4)支持获取camera支持的分辨率,和分辨率切换;   (5)支持屏蔽声音,重启Camera;  (6)支持相机自动对焦;   (7)支持调整对比度和亮度 (8) 支持480P、720P、1080P and higher

2019-06-17

websocket源码

这里特别说明下因为WebSocket服务端是公司线上项目所以这里url和具体协议我全部抹去了,但我会尽力给大家讲明白并且demo我都是测试过,还望各位看官见谅 我们先粗犷的讲下流程,掌握个大概的方向,然后在深入讲解细节的实现.这里先解答一个疑惑,为啥我们这要用WebSocket而不是Socket呢,因为WebSocket是一个应用层协议很多东西都规定好了我们直接按他的规定来用就好,而Socket是传输层和应用层的一个抽象层很多东西我们还得自己规定相对来说会比较麻烦,所以这里我们用的WebSocket. 既然WebSocket是一个应用层协议,我们肯定不可能自己去实现,所以第一步是需要找一个实现了该协议的框架,这里我用的nv-websocket-client,api我就不介绍了,库中readme已经详细的介绍了,后面我就直接使用了.

2019-04-25

java增删改查JDBC封装类(泛型封装)

java增删改查JDBC封装类(泛型封装),这个是高度封装化的,增删改查,直接用到我的项目中去的。

2019-02-28

android 自定义dialogfragment全屏对话窗体

android 自定义dialogfragment全屏对话窗体,这个demo还是很棒的。值得学习,直接用在项目里。

2018-12-03

java/android 3mb/s文件下载,大文件快速传输

java/android 3mb/s文件下载,大文件快速传输,非常好用。值得拥有

2018-10-25

DragShadowBuilder(拖拽拼图)

这个DragShadowBuilder(拖拽拼图),相当的屌啊,后续添加拽到某个view上时,该view高亮并放大。

2018-10-19

ContentProvider封装SharedPreferences功能,解决跨进程存取值的问题

ContentProvider封装SharedPreferences功能,解决跨进程存取值的问题, 我之前一直用自己封装的SharePreferences,后来出现跨进程问题;就用这个 ContentProvider,真好用,值得拥有!

2018-10-09

学习Matrix的对图像的处理可分为四类基本变换: Translate平移变换 Rotate 旋转变换 Scale缩放变换 Skew 错切变换 最好的demo

学习Matrix的对图像的处理可分为四类基本变换: Translate平移变换 Rotate 旋转变换 Scale缩放变换 Skew 错切变换 最好的demo

2018-09-27

空空如也

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

TA关注的人

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