自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 std::vector小坑

最近在代码测试过程中,发现一段逻辑的理解始终和日志显示的不一致,简单的说就是用std::vector去存储了很多的字符串,然后判断std::vector的size是多少,譬如大于0就做事情A,小于0就做事情B,结果发现用(-1 < std::vector.size()) 这个方法始终是false,但是单独打印出std::vector的size大小又是正数,何解?....原来是因为std::vector的size()方法返回的不是int值,而是size_t类型,这个类型和int是不能直接进行比较的,

2022-01-07 11:41:34 802

原创 android Studio 下载问题

最近android studio 无法下载了点击这个界面下载后,无法跳转,大家在浏览器把地址将redirector.gvt1.com更换为dl.google.com,即可成功下载

2021-12-17 12:07:51 2017 1

原创 webrtc编译权限问题

最近拷贝webrtc代码给同事编译,他搞了两天也没成功,今天协助他一起看,搞得头昏,最后结果证明是权限问题,记录一下,ubuntu下拷贝进去的有些目录,或者python脚本没有可执行的权限,右键出来的弹窗授予权限有bug,会导致文件权限修改不完全,最后尝试在命令行才成功,坑了大家整整三天Ubuntu 更改文件夹及子文件夹权限 打开终端进入你需要修改的目录 然后执行下面这条命令 chmod 777 * -R...

2021-05-13 22:00:44 206

原创 保存videoFrame测试

有时候要测试yuv数据是否有问题,可以用如下方法,移动平台上使用记得路径的权限是否拥有void saveVideoFrameToFile(const webrtc::VideoFrame& frame, std::string file) { rtc::scoped_refptr<webrtc::VideoFrameBuffer> vfb = frame...

2021-02-08 10:31:13 379

原创 Mac上websocket被关闭问题

最近在做Mac,windos上的音视频开发,遇到一个比较诡异的问题,在mac平台,使用libwebsocket后,只要没有信令的数据流动,一段时间后,websocket莫名其妙就被断了,分析了很久,都没找到原因。即使加了ping,pong心跳,都维持不了链接,很多时候ping发出去,pong需要20s以上才返回,还找过服务端的同事一起协助排查,最终偶然发现,只要应用不再前台(失去焦点也算),就会出现,好了,有思路了,多半和mac上的应用生命周期有关系,研究了半天,发现这是触发了mac上的nap功能。A

2020-10-26 10:09:40 1127

原创 Android托管c++的log

```在Android上做JNI开发的时候,对接很多c++,c的库,里面有很多print,cout打印的log,是无法在android的logcat中查看到的,一方面可以可以托管这些输出到对应的Android NDK log的接口中,另一方面可以重定向这些log到文件中,下面简单介绍重定向c++的log到文件中方法在JNI或者c++入口函数处,或者你想要添...

2019-08-01 11:48:00 236

原创 linux混编项目总结

linux编译总结:1:譬如三方库里用include/bx/bx.h这样的文件,我们在代码中引起的方式是#include “bx/bx.h”,那么在cmake文件中,target_include_directories假如你包含了三方文件目录include又包含了bx目录,xcode和androidStudio是能正常处理的,但是linux下不行,会报各种误导你的错误,譬如c链接失败,c++...

2019-01-24 20:33:24 314

原创 bgfx从入门到没有放弃

公司最近要跨平台做一些渲染的图像处理,没办法,调研到最后,bgfx满足,且大神持续开发,国内的牛人“云风”也在更新,但是这玩意资料太少太少了,而且我们用过程中遇到有些很挫的bug,但是好多已经改了。入坑需谨慎。bgfx总结创建时间:2018年10月22日 version: 1.01. 什么是 bgfx:Cross-platform, graphics API agnostic, “Bri...

2018-12-17 09:48:30 13762 6

原创 关于c++ bool值莫名其妙被改的原因

今天遇到一个比较奇怪的问题,我在c++中定义了一个bool变量,初始化的时候一直设置成false,结果在代码运行过程中,在某个方法里面拿到的值一直是true,但是这个bool变量是private的,外界包括类自身都没有更改过它,结果它的值变了,我去...百思不得其解原因结果如下:因为我有一个方法,里面操作了一个数组,但是对这个数组的操作过程中,数组有个下标计算有问题,越界了,但是因为c...

2018-12-15 17:59:03 1103

原创 ssh提示"Enter passphrase for key"解决

使用Git,每次都提示输入命令。 烦人的很Enter passphrase for key 'xxxx'输入一下命令:ssh-add -K xxx 

2018-11-15 15:35:14 40763 7

原创 Mac下cmake编译FFmpeg-4.0

网上找了大多数资料Mac下编译ffmpeg,基本上都不成功,也不知道怎么的,这玩意就这么浪费时间?官方真的该出一个教程了,免得每个开发者都得重复一次这个过程。NDK 下载地址FFmpeg 下载地址ffmpeg每个版本编译方式还不一样,NDK的版本也有差异,建议保持一致,免得出错。ffmpeg版本:4.0ndk版本:android-ndk-r16b可以选择去官网下载,国内的地址参考 Android ...

2018-05-17 13:52:17 1819 3

原创 关于radioButton居中问题

/** * 最近在做底部导航栏的过程中发现使用RadioGroup中嵌套RadioButton的方式 * 无法让RadioButton的图片居中显示,如下是代码 */public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState

2016-03-21 13:53:17 4272

原创 ScrollView的滑动监听

/** * 想要咋实际使用中监听ScrollView的滑动状态 * 系统其实在api23提供了一个setOnScrollListener方法来监听view的滑动,只是不能向下兼容, * public void setOnScrollChangeListener(OnScrollChangeListener l) { * getListenerInfo().mOnScrollCha

2016-03-21 10:38:24 3834

原创 关于toolbar的menu显示icon问题

需求需要在toolbar的menu菜单里面显示icon,但是据google的解释说已经不支持这么做了Options menus: The icon menus do not support item check marks and only show the item's condensed title. The expanded menus (only available if six

2016-03-10 13:59:49 2393

原创 关于ImageView的scaleType理解(播放动画)

关于ImageView的scaleType理解关于Imageview的scaleType的理解,网上有太多的实例和解释,不过,都是就介绍了 它的使用效果,最新产品有个需求,要实现图片内容的放大,移动动画,原本来要用 opengl通过纹理坐标实现,后来同事说应该自带的矩阵可以,我就看了下代码,发现真的可以。 首先,还是解释下scaletype各个参数的意思吧,字面理解,s

2016-02-26 15:08:02 1190

转载 Android官方数据绑定框架DataBinding

转自:http://blog.csdn.net/qibin0506/article/details/47393725今天来了解一下android最新给我们带来的数据绑定框架——Data Binding Library。数据绑定框架给我们带来了更大的方便性,以前我们可能需要在Activity里写很多的findViewById,烦人的代码也增加了我们代码的耦合性,现在我们马上就可以抛弃那么多的

2016-02-02 14:23:29 1750 1

转载 优化安卓应用内存的神秘方法以及背后的原理

安卓应用一般都害怕自己被杀,内存占用高是被杀的重要原因之一,所以大家都想尽各种招数应对,但效果都一般。但有一招:WindowManagerGlobal.getInstance().startTrimMemory(TRIM_MEMORY_COMPLETE);几乎没有人提及。这段时间的实战,在通知栏和桌面都有尝试,发现效果还不错,但要掌握好这个函数的用法,需要仔细理解背后的原理,毕竟这个调

2016-01-22 10:45:03 654

原创 Toolbar显示菜单问题

今天在用ActionBar,需要增加一个菜单选项,按教程在/res/menu下对应的布局文件中添加了一个item,但是它却是显示在overflow中,而不是直接显示在ActionBar当中的。我的布局文件是这么写的:<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://s

2015-11-03 14:38:18 529

转载 ConcurrentHashMap原理分析

ConcurrentHashMap原理分析      集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的ConcurrentHashMap,让我们从原理

2015-06-29 16:52:19 483

原创 基于Camu的曝光多边形动画实现

原本项目中要实现camu的曝光多边形动画,做好后,产品后来决定不用了。所以源码我就贴出来了。支持任意多边形import android.content.Context;import android.graphics.*;import android.graphics.Paint.Style;import android.util.AttributeSet;import andro

2015-05-12 16:24:33 892 1

原创 SharedPreference注册OnSharedPreferenceChangeListener问题

SharedPreference注册OnSharedPreferenceChangeListener问题采用如下代码注册是肯定要失败的:SharedPreferences sp = getSharedPreferences("AndroidDemo", Context.MODE_PRIVATE); sp.registerOnSharedPreferenceChangeListen

2015-04-27 10:45:57 2501

原创 关于android:targetSdkVersion所导致的问题

最近两天一直在纠结个问题,就是我们新版的软件通过IDEA编译出来运行在4.4的手机上整个相机UI是完成错乱的,同事几个手机运行都一样,错乱的样子就是整个UI压缩挤压在一起,完全不是你在布局里面设置的还具有相对位置的样子。 但是通过IDEA的布局文件的design按钮看到的布局展示demo有是正常的,所以,一直怀疑是编译的问题,或者某些控件的id是否有重复。于是重新rebuild,重新删除o

2015-03-20 14:43:41 4826

原创 一些流的理解

Filewriter用来写文件。但是bufferWriter可以封装他。BuferWriter有个close方法是关闭此流的意思,但是这个BufferWriter不属于流噻,所以,真实关闭的是BufferWriter的包装的流对象。所以,不用调用该FileWriter的close方法。记得你以前犯的一个错误,就是从文件中读取数据。File.read()方法会返回此次你成功读取的个数。这个很有用,不

2014-08-24 22:08:59 586

原创 enum的高级应用

public enum Lamp{RED(30){public  Lamp nextLamp(){return GREEN;}},GREEN(45){public  TrafficLamp nextLamp(){return YELLOW;} },YELLOW(5){public  TrafficLamp nextLamp(){return RE

2014-08-24 17:43:06 708

转载 Unable to execute dex

1. Unable to execute dex: method ID not in [0, 0xffff]: 65536;    Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536     原因: Answer   The Dalvik VM ca

2014-06-16 17:24:11 1370

转载 blog

Android中文WikiAndroidStudio-NDK开发-移动开发团队谦虚的天下 – 博客园gundumw100博客 – android进阶分类文章列表 – ITeye技术网站CSDN博文精选:Android系列开发博客资源汇总 – CSDN.NET – CSDN资讯Android笔记本——半年来的研究笔记,导航。 – 思想实践地 – CSDN博客【魏祝林】An

2014-05-01 22:46:39 713

转载 AndroidTips]Android软件测试的日志文件抓取简介

1    log文件分类简介            实时打印 的主要有: logcat main , logcat radio , logcat events , tcpdump ,还有高通平台的还会有QXDM 日志          状态信息 的有: adb shell cat /proc/kmsg , adb shell dmesg , adb shell dumpstate 

2014-03-23 14:09:02 716

转载 关于TranslateAnimation几个构造函数的理解

关于TranslateAnimation几个构造函数的理解       在android动画中,最常用的一个莫不是TranslateAnimation了,这个类主要负责实现控件的动态位移,经常被用做指示器的移动动画。比如qq安卓客户端的指示器,如下图。         关于TranslateAnimation几个构造函数的参数意义,曾困惑我不少时间,参考官方文档和网上的

2014-02-24 16:40:40 856

转载 c语言.c and.h

C语言中.h和.c文件解析(很精彩)  简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程: 1.预处理阶段  2.词法与语法分析阶段  3.编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各个目标文件 (.obj文件)  4.连接阶段,将各个目标文件中的各段代码进行绝对地

2014-02-21 23:38:06 1416

转载 GridView

本文来自http://blog.csdn.net/hellogv/       GridView跟ListView都是比较常用的多控件布局,而GridView更是实现九宫图的首选!本文就是介绍如何使用GridView实现九宫图。GridView的用法很多,网上介绍最多的方法就是自己实现一个ImageAdapter继承BaseAdapter,再供GridView使用,类似这种的方法本文不再重复,

2014-01-22 16:16:07 637

转载 Android Sensor感应器介绍(三)获取用户移动方向,指南针原理

晚上好~今天继续给大家分享一下第二个重要的感应器,其实获取方向本应该很简单的事情,在文章一中看到 有个TYPE_ORIENTATION 关键字,说明可以直接获取设备的移动方向,但是最新版的SDK加上了这么一句话“TYPE_ORIENTATION     This constant is deprecated. use SensorManager.getOrientation() instead.

2014-01-22 16:15:30 1330

转载 Android下用程序的方法为ListView设置分割线Divider样式

使用XML的时候可以使用android:divider属性为ListView设置分割线的样式(颜色或者资源文件),而在Java代码中默认提供的方法listView.setDivider()却只支持Drawable资源文件,为此费了一点时间想解决方法,后来才发现其实很简单,android提供创建颜色资源文件的方法,于是只需要用listView.setDivider(new C

2013-12-10 14:31:54 915

转载 分辨率概念

对于业余摄影爱好者很少去研究与深入了解数码照相机的像素与拍出来的照片的分辨率(清晰度)以及照片尺寸大小之间的关系是什么。实际上作为摄影爱好者非常有必要对此有所了解,否则我们都是处在盲目的拍摄状态,我碰到过不少的业余摄影爱好者,他们从买了数码照相机以来,从没有对次进行过调整(即设置),所以让自己的傻瓜照相机一直保持在出厂时的原生态“傻瓜”状态。作为任何一名摄影爱好者应从拥有数码照相机的第一天

2013-09-27 19:55:27 741

转载 vim operation

vi(vim)入门简明实例教程---总览全局 快速入门前言 本文旨在帮助学习vim的新手快速掌握vim的基本操作。本文整理自《The Linux Command Line》中《A Gentle Introduction To vi》一章。该书籍通俗易懂,容易上手,十分实用。下面保留了一部分的英文,旨在帮助更好的理解命令,从而更快的掌握命令。注明:文章中实验在ubuntu 11下进行。V

2013-08-21 14:52:55 877

原创 关于intentservice和handlerthread的一点小理解

/** * 关于IntentService的一点理解 * * 废话不多说,IntentService就是用来处理耗时操作的service, * 我们平常用的service里面如果需要处理耗时操作需要在service里面 * 开启一条thread来处理耗时操作,而IntentService直接帮助我们封装了这些处理。非常方便。 * * 需要注意的是 IntentService能处理

2013-07-26 16:59:48 1271

原创 非阻塞式播放pcm和mp3文件类

/** * Plays a series of audio URIs, but does all the hard work on another thread * so that any slowness with preparing or loading doesn't block the calling thread. */public class Mp3OrPcmAsyncPlay

2013-07-18 09:31:05 1484

转载 IntelliJ Idea 常用快捷键列表

Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C 最近更改的代码Ctrl+R 替换文本Ctrl+F 查找文本Ctrl+Shift+Space 自动补全代码Ctrl

2013-07-02 10:01:03 770

转载 BlockingQueue

import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors; /** 本例介绍一个特殊的

2013-05-18 11:38:32 741

转载 change the svn password

问题描述:     Eclipse的SVN插件Subclipse做得很好,在svn操作方面提供了很强大丰富的功能。但到目前为止,该插件对svn用户的概念极为淡薄,不但不能方便地切换用户,而且一旦用户的帐号、密码保存之后,就无法再变更了。解决思路:     既然界面上不能进行修改,那就只有删除subclipse记录的帐号、密码信息,重新输入。具体步骤:     1. 查看你的Ec

2013-05-13 20:51:13 933

转载 android之android:paddingLeft和android:layout_marginLeft区别: 分类: Android android开发实践 Android入门教程 2011-0

android:paddingLeft和android:layout_marginLeft区别:当你在LinearLayout中分别设置 android:layout_marginLeft="52dip"和android:paddingLeft="52dip"的时候,也许你在及时显示界面看到的效果是一样的,但是这两个属性是有区别的,android:layout_marginLef是设置整个

2013-05-13 15:22:47 1234

空空如也

空空如也

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

TA关注的人

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