自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李棚的CSDN专栏

付出与得到

  • 博客(194)
  • 收藏
  • 关注

原创 把二元查找树转变成排序的双向链表

把二元查找树转变成排序的双向链表题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。10/ \6 14/ \ / \4 8 12 16转换成双向链表4=6=8=10=12=14=16。首先我们定义的二元查找树节点的数据结构如下:struct BSTreeNode{int m_nValue; // value of nodeBSTreeNode *m_pLeft; // left childof nodeBSTreeNo

2021-07-04 23:31:49 372 2

原创 java中==和equals和hashCode的区别

java中==和equals和hashCode的区别基本数据类型的==比较的值相等.类的==比较的内存的地址,即是否是同一个对象,在不覆盖equals的情况下,同比较内存地址,原实现也为 == ,如String等重写了equals方法.hashCode也是Object类的一个方法。返回一个离散的int型整数。在集合类操作中使用,为了提高查询速度。(HashMap,HashSet等比较是否为同一个)如果两个对象equals,Java运行时环境会认为他们的hashcode一定相等。如果两个对象不equ

2021-07-04 09:26:34 1120

原创 清晰度、分辨率、像素、4K、HDR的区别

像素,分辨率,清晰度的定义:1、像素是指照片的点数(表示照片是由多少点构成的),分辨率是指照片像素点的密度(是用单位尺寸内的像素点,一般用每英寸多少点表示--dpi)。照片实际大小是像素决定的。一个像素很大的照片,如果将分辨率设置很大的话,打印出来的照片可能并不大(但是很清晰)。反之,一个像素并不很大的照片,如果将分辨率设置得很小,那么打印出来的照片可能很大(但是不清晰)。2、 分辨率指单位长度上的像素值,与打印质量有关,一般使用的量纲为PPI; 总像素指图片的样本精度,与可打印尺寸有关,通常使.

2021-01-05 17:29:09 15727

原创 音视频基本概念:码率、比特率

比特率比特率,英文为 bit rate,描述每秒钟输出多少 KB 的参数,单位是 Kbps,也就是 kbit/s,8Kbit/s = 1KB/s。也就是说 800Kbps 意思就是每秒视频就要占用 100KB 磁盘空间。对于音频文件也存在比特率,同理。压缩同一个视频,视频比特率越大,文件体积越大。视频比特率越大,画质越好,马赛克越少。MP3 一般使用的比特率为 8~320kbps。举一个例子:bitrate 可以理解为 file size / duration比如一个视频文件 20..

2021-01-05 10:40:09 8372

原创 FFmpeg SDK API使用

FFmpeg 的基本组成FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了领先的音/视频编码库libavcodec等。libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能;libavcodec:用于各种类型声音/图像编解码;libavutil:包含一些公共的工具函数;libswscale:用于视频场景比例缩放、色彩映射转换;libpostproc:用于后期效果处理;..

2021-01-05 10:21:53 2910

原创 学习FFmepg编译

编译FFmpeg分为windows上编译和mac(liunx)上报编译1、Mac或者Linux上编译FFmpeg源码https://www.jianshu.com/p/d08c0cff8a77(1)、编译so动态库给android使用,这就涉及到NDK安装,交叉编译。https://juejin.cn/post/6844903840056082440https://cloud.tencent.com/developer/article/1746511https://w...

2021-01-02 11:23:14 182

原创 ffmpeg入门体验: 安装、命令行使用

ffmpeg怎么读?(ef,ef,'em,peg) Fast Forward Mpegffmpeg是什么?是做什么?FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了领先的音/视频编码库libavcodec等。libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能;libavcodec:用于各种类型声音/图像编解码;libavutil:包含一些公共的工具函...

2020-12-22 11:25:05 526

原创 国内网络如何使用gradle开发

问题:经常遇到如何问题该怎么处理?解决办法:修改成国内可用的maven仓库地址maven {url "https://maven.aliyun.com/repository/google"}maven{url "https://maven.aliyun.com/repository/jcenter"}

2020-12-17 11:03:35 239

原创 Android studio中NDK如何断点调试

默认情况下是不支持NDK调试的,但要支持NDK调试也很简单,只要做些简单配置即可。配置所需组件  下载安装步骤如下:  1、Android Studio中在打开的项目中,菜单栏中选择Tools->Android->SDK Manager。      2、选中SDK Tools标签,分别选中Cmake、LLDB和NDK。      3、点击Apply,然后在弹出对话框中点击OK,会看到我们所选择安装的组件,之后选中Accept即可,等待安装完成。  

2020-12-17 10:59:19 2992

原创 Android Studio运行程序时显示apk not exists,导致安装apk失败??

解决方法

2020-12-17 10:57:49 319

原创 Android studio如何集成sdk源代码

Android studio如何集成sdk源代码,这样就可以直接看源码了??source下载http://mirrors.neusoft.edu.cn/android/repository/下载好了放入sdk下面的source目录下。

2020-12-16 14:54:03 418

原创 当android studio下载不了build tools,怎么办?在哪里下载?本地下载了哪些build tools版本如何查看?

bulild tools版本的更新日志https://developer.android.com/studio/releases/build-toolsbuild tools下载(这里还有sdk、 ndk、source、等等的下载)http://mirrors.neusoft.edu.cn/android/repository/build tools下载(这个也可以下载)https://androidsdkmanager.azurewebsites.net/Buildtools.

2020-12-16 14:51:12 1582

原创 当android studio下载不了sdk的时候,该怎么办?

从这个网站去下载Android sdkhttps://androidsdkmanager.azurewebsites.net/下载完成后放入下面的目录

2020-12-16 14:49:05 1030

原创 android studio complie依赖的包下载在哪个路径

在项目的工程下.\idea\libraries可以看到有很多依赖文件的xml文件,edit打开可以看到里面存放了jar包的路径<component name="libraryTable"> <library name="UsbSerial-4.3"> <CLASSES> <root url="jar://$PROJECT_DIR$/app/build/intermediates/exploded-aar/com.github.felHR

2020-12-16 14:46:58 371

原创 gradle插件下载在哪里

默认从 Gradle 官方的插件仓库https://plugins.gradle.org/m2/下载的也就是这个指定的repositories { jcenter() google()}那具体对应什么地址,大家知道吗,今天我就告诉大家,就是下面的地址。https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.0.2/gradle-3.0.2.pomhttps://dl.goog..

2020-12-16 14:43:29 6564

原创 当android studio下载不了Gradle的时候,该怎么办?使用离线Gradle

Android studio自动安装GradleMac上会默认下载到 **/Users//.gradle/wrapper/dists** 目录 Win平台会默认下载到 C:\Users\用户名\.gradle\wrapper\dists目录gradle官网各个版本下载http://services.gradle.org/distributions/在应用程序---android studio---显示包内容(放入这里)还是要设置一下(把gradle拖动到文件管理中)...

2020-12-16 11:40:38 669

原创 Android Gradle plugin与Android Studio之间的关系

Android Gradle plugin与Android Studio之间的关系其实就是注意这三个东西的对应关系:Android StudioAndroid Gradle pluginGradle之间有版本的对应关系(http://tools.android.com/tech-docs/new-build-system/version-compatibility)所以建议使用Android Studio自带的gradle,减少后续使用中可能产生的冲突。彻底搞懂Gradle、

2020-12-16 11:37:39 249

原创 程序员写代码过程中的会使用到的Android Studio快捷键

尽量使用Android studio默认的快捷键,,不会因为不是自己的电脑,自己就不会快捷键的尴尬。写代码常用快捷键1、优化import【control+option+o】2、导入import 【option+enter】3、格式化代码【option+command+L】1、上下移动一行代码 【shitf+option+上下】2、删除一行【command+del】3、复制一行【command+d】3、删除光标后面的字符【fn+del】1、快速生成getter、sett

2020-12-16 10:05:35 155

原创 如何使用Gradle脚本发布maven

在要发布的工程中添加maven发布脚本,脚本内容如下://引入gradle maven插件apply plugin: 'maven-publish'//配置参数,版本号和groupID,每次发布不同版本时,需要修改版本号project.ext.lib_version = "1.0.0" project.ext.lib_group = "com.tencent.thumbplayer"//固定参数,maven上传URL和用户名密码project.ext.releaseUploadRepo =

2020-12-16 10:01:42 505

原创 Android AAR打包、使用问题

1、注意⚠️:一个aar不会被aar打包在里面(变态啊)2、如何解决suppot重复依赖的问题。??可以使用compileOnly/provided来处理,只引用,不打包。3、使用aar。注意⚠️:是上面的每一层都要这样使用,(变态啊)compile(name:'TPCoreNative-tvideo', ext:'aar')repositories {flatDir {dirs project(':ThumbPlayerAndroid').file('libs')}

2020-12-16 09:59:26 554

原创 gradle加载慢 下载包失败 超时和Unable to resolve dependency 等一系列问题

Android studio 3.0之后 gradle加载慢 下载包失败 超时和Unable to resolve dependency 等一系列问题解决方案1、Gradle的下载问题。(自己下载Gradle)测试地址是否可以访问 。 https://services.gradle.org/distributions/gradle-5.1.1-all.zip代理的问题2、gradle插件的下载主要还上更换maven仓库地址来解决。依赖库下载问题(更换maven仓库地址)国

2020-12-15 16:16:47 643

原创 如何让自己写的Task跟着工程一起编译

先了解下Gradle的执行顺序??https://blog.csdn.net/singwhatiwanna/article/details/78797506这里面有一个project.afterEvaluate{},在所有的模块都已经配置完成后执行。在所有task前执行。(以module为单位)

2020-12-15 15:25:06 98

原创 Gradle变量的使用

1、gradle.properties中定义一个变量。可以在setting.gradle,build.gradle中直接使用。使用方法2、local.properties中定义一个变量。只能代码读取使用。需要读取文件的值方法def PlayerDebugCode = 'false'Properties properties = new Properties()properties.load(new FileInputStream("local.properties")).

2020-12-15 15:22:09 1564

原创 Gradle常用命令行

Linux和MAC使用./gradlew,而Windows上面则使用gradlew./gradlew assembleDebug./gradlew assembleRelease./gradlew clean./gradlew buildgradle 命令(点击底部Terminal)1、./gradlew -v 查看当前项目所用的Gradle版本2、./gradlew clean 清除9GAG/app目录下的build文件夹3、./gradlew build ...

2020-12-15 15:19:08 967

原创 如何终止gradle的执行

1、stop命令2、Android studio stop3、可以在Gradle脚本中抛出异常,throw new GradleException(' error info')

2020-12-15 15:14:10 2379

原创 Gradle的工作流程

Gradle主要有三种对象Gradle工作包含三个阶段:首先是初始化阶段。对我们前面的multi-project build而言,就是执行settings.gradle Initiliazation phase的下一个阶段是Configration阶段。 Configration阶段的目标是解析每个project中的build.gradle。比如multi-project build例子中,解析每个子目录中的build.gradle。在这两个阶段之间,我们可以加一些定制化的Hook。这当..

2020-12-15 15:08:14 417

原创 Gradle Wrapper是什么

Gradle提供了内置的Wrapper task帮助我们自动生成Wrapper所需要的目录文件。在一个项目中的根目录下执行 gradle wrapper即可生成工程结构介绍:gradlew:Linux下的可执行脚本。(用法和Gradle原生命令一样)gradlew.bat:Windows下的可执行文件。(用法和Gradle原生命令一样)gradle-wrapper.jar:gradlew最终还是使用java执行的,所以这个jar就是具体的业务逻辑。gradle-wrapper..

2020-12-15 15:06:41 988 1

原创 体验Gradle工具

Gradle工具是什么?Gradle工具就是一个代码包。工具包中提供了gradle命令。Gradle依赖:1、JDK 2、Groovy(工具包已经自带了)下面只介绍Mac系统上,Gradle环境配置和使用,Windows、Linux系统也是类似的。1、安装jdk,并配置JAVM_HOME环境变量。这个不知道的,百度下,一大把,不多做介绍。2、下载Gradle, 解压、配置Gradle_HOME环境变量。下载地址https://services.gradle.org/distrib

2020-12-15 15:05:12 82

原创 Gradle是什么?

Gradle是一种基于Groovy语言构建工具写代码为什么需要构建工具??现代代码工程一般都是模块化的,也就是把功能做成一个个代码模块,发布出去,给其他开发者使用,所以我们在开发的过程中,需要用这个模块,就需要下载模块代码,gradle可以帮我们下载。代码开发好了,其实是需要区分测试版和发布版,也就是debug版和release版,版本的不同有些代码操作不同,难道我们每次都手动去做吗。所以gradle脚本就可以做。如果代码需要打渠道包,我们不可能改一个...

2020-12-15 15:02:46 338

原创 git subtree使用体验

git subtree旧版本的git也支持(最老版本可以到 v1.5.2).详细了解先看这篇文章,写的挺好:https://tech.youzan.com/git-subtree/下面介绍具体操作:1、初始化subtree项目在主项目根目录的下面git subtree add --prefix=用来放S项目的相对路径 S项目git地址 xxx分支例如:git subtree add --prefix=modules/MultiMedia/TVKPlayer_...

2020-12-15 11:43:44 1520

原创 Git常用命令解析

Git常用命令git clone urlgit status查看状态git checkout 切换分支git checkout -b 新建一个分支,并切换到新分支git branch 列出本地分支git branch -a列出远程分支和本地分支git branch -r 列出所有远程分支git branch 创建分支,但依然停留在当前分支git branch -d 删除本地分支git pull > 拉取远程分支到本地git push master&g

2020-12-09 20:28:01 142

原创 如何解决Git代码冲突?

为什么会出现代码冲突?一般在merge之后,会出现conflict(冲突),需要针对冲突情况,手动解除冲突。主要是因为两个用户修改了同一文件的同一块区域。如下图所示,如何解决冲突?解决冲突有几种方法:1、代码中直接解决例如上面的代码冲突,,直接看代码来解决,,,这种只适用于冲突的地方比较少,,,如果冲突很多,分布在不同的文件中,解决起来就比较困难。2、在Android Studio中解决a、左边的Local Changes代表”当前“分支上的修改; b、右边的

2020-12-03 20:13:37 3521

原创 Git lfs大文件的使用

大文件使用Git lfs 大文件管理官网https://git-lfs.github.com/git lfs解决的是什么问题呢?例如:工程中的大文件so,每次都编译提交,git慢慢就变得非常大,拉取变得非常慢。。git lfs就是解决该问题,,so的版本管理放在大文件服务器上,,git中的so使用index索引指向大文件服务器上的so。Git LFS的使用(这篇文章讲比较清楚)https://www.jianshu.com/p/493b81544f80使用..

2020-12-03 11:12:19 1674

原创 Git日志非常多,我又不想全部clone下来,该咋办?

减少日志的clone(不把所用日志都clone下来)git clone --depth=1

2020-12-01 11:37:28 445

原创 Git中Android工程的忽略文件该怎么写??都已经帮你们写好了

Git忽略文件(针对Android工程)工程根目录下的.gitignore文件*.iml.idea.gradle/local.properties/.idea/workspace.xml/.idea/libraries.DS_Store/build/capturesmodule下的.gitignore文件/build

2020-12-01 11:19:06 148

原创 Git基本概念,你必须要了解

Git基本概念一、Git工作流程Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库工作区程序员进行开发改动的地方,是你当前看到的,也是最新的。平常我们开发就是拷贝远程仓库中的一个分支,基于该分支进行开发。在开发过程中就是对工作区的操作。git add暂存区.git目录下的index文件, 暂存区会记录git add添加文件的相关信息(文件名、大小、timestamp...),不保存文件实体

2020-12-01 11:17:33 80

原创 rebase和merge两种合并分支的方式

rebase和merge两种合并分支的方式git merge origin/master把远程下载下来的代码合并到本地仓库,远程的和本地的合并可以看到,merge操作会生成一个新的节点,之前的提交分开显示。而rebase操作不会生成新的节点,是将两个分支融合成一个线性的提交。如果你想要一个干净的,没有merge commit的线性历史树,那么你应该选择git rebase 如果你想保留完整的历史记录,并且想要避免重写commit history的风险,你应该选择使用git merge

2020-12-01 11:14:17 1757

原创 如何使用GitHub?

Github上如何给别人贡献代码(转)http://www.cnblogs.com/chesterphp/p/3577924.htmlGitHub创建新项目新建项目repositoriesGitHub删除项目拉到最下面确认要删除的项目GitHub给别人贡献代码1、搜索你要贡献的代码仓库2、fork下别人的代码 、之后代码就复制到你账号里面了fork的含义就是创建qianghongbao项目的副本作为你自已的项目3、就是你开始贡献自己

2020-11-30 21:44:21 180

原创 Git遇到的问题:fatal:Authentication failed for XXX

遇到该问题,一般是之前设置的密码过期了,,而Git是会记住账号密码的,,所以删除掉保存的账号密码,重新输入就可以了

2020-11-30 21:41:06 184

原创 Git遇到的问题:This is not a valid source path/URL

解决

2020-11-30 21:38:21 4841

空空如也

空空如也

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

TA关注的人

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