自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

秋风知劲草

You’ll Never Know, If You Never Try

  • 博客(81)
  • 资源 (4)
  • 问答 (3)
  • 收藏
  • 关注

原创 C++ so没有导出符号

新建了一个头文件,加了一些接口,并且接口前面都加了__attribute__((visibility("default")))但是生成的so,用nm -D去查找符号,还是没有找到新加的接口

2022-06-16 15:58:10 710 1

原创 Android相机SurfaceTexture模式帧率下降问题

先抛结论:SurfaceTexture的onFrameAvailable回调,受updateTexImage的影响。再看查证过程:首先问题:开发过程中发现,相机输出帧率随前处理帧率下降而下降,呈明显正相关,这里相机输出帧率是在onFrameAvailable回调里面统计的。所以搞不清到底是因为相机输出帧率变低了,导致前处理帧率变低;还是因为前处理太慢了,影响了相机输出?怀疑的点:相机是不是有buffer限制,类似生产-消费,如果生产了(相机onFrameAvailable回调)没有消费(没有调

2022-05-16 14:05:50 1450

原创 Android NDK编译遇到的一些问题

在配置Android.mk的时候,遇到了一些问题1、mk文件没跑检查代码,极可能是路径写错了,可以用$(warning $(DIR_3RDPARTY)) 打印,用ls 去看看有没有这个路径变量赋值要用 :=,用=会导致不可预料的问题,例如变量在后续使用中被拼接了其他内容//DIR_3RDPARTY := $(LOCAL_PATH)/../../3rdparty### 例如这里泄露了:,直接用 = 赋值DIR_3RDPARTY = $(LOCAL_PATH)/../../3rdparty

2022-04-01 12:25:55 3477

原创 C++ SIGTRAP崩溃

现象:断点崩溃停在方法的最后一行,崩溃信息是SIGTRAP,检查了最后一行的代码没什么问题;定位:通过变量值的变化,发现最后一行代码已经执行了,说明是执行完这行代码才蹦的。随便在后面又加一行代码,发现又崩在新加的一行代码处。结论:猛然发现这个方法返回值是bool,缺少了return 返回值;低级错误......

2022-03-08 16:57:38 3431 1

原创 c++ fopen返回null

fopen打开文件失败返回null,可以通过errno和strerror获取错误码和错误信息。我遇到的是错误码1,Operation not permitted。经过检查是Android11,分区存储,不能直接写到sdcard,后面修改为直接用app目录,就正常了Context.getExternalFilesDir(null).getAbsolutePath(); //不需要权限/storage/emulated/0/Android/data/[appname]/files/常见的er

2021-11-18 17:59:15 6015

原创 SurfaceView设置透明问题

场景:多个view同时渲染,礼物在主播画面之上。一开始使用SurfaceView,根据网上的说法,只需要设置位于最上层和透明就可以mSurfaceView.setZOrderOnTop(true);mSurfaceView.getHolder().setFormat(PixelFormat.TRANSPARENT);但部分机型出现不透明的情况,另外更重要的一点,会遮挡住图标,以及一些其他view的层级需要在礼物之上的。SurfaceView只能在最顶层或者最底层,是独立于View结构的。

2021-07-14 17:37:46 2065

原创 eglCreateWindowSurface崩溃

egl在创建windowsurface的时候发生崩溃m_surface = eglCreateWindowSurface(m_display, m_config, nwh, NULL);崩溃信息如下:找到android源码https://android.googlesource.com/platform/frameworks/native/+/master/opengl/libs/EGL/egl_platform_entries.cppadb pull 从手机拿到libEGL.so,直接用

2021-06-09 20:16:34 2807 2

原创 C++ 根据遍历构建二叉树

根据前序和中序遍历,构建二叉树。前序遍历顺序是根左右,中序遍历顺序是左根右。struct TreeNode { int val; TreeNode *leftChild; TreeNode *rightChild;}TreeNode * buildTree(int *preOrder, int *inorder, int length) { if(preOrder == NULL || inorder == NULL || length <= 0) { return NU

2021-05-05 11:19:02 257

原创 C++遍历

一、前序遍历struct TreeNode{ int val; TreeNode *leftChild; TreeNode *rightChild;}//前序遍历 循环 根左右void preVisitTree(TreeNode *rootNode) { if(rootNode == NULL) { return; } std::stack<TreeNode *> nodes; TreeNode *tempN

2021-05-05 10:25:15 1174

原创 C++ 单例模式

一、饿汉模式特点:一开始就创建,线程安全。缺点:过早创建实例,降低内存使用效率。class Singleton {private: Singleton(){}; static Singleton* sInstance;public: static Singleton* getInstance() { return sInstance; } static void Destory() { delete sInstanc

2021-05-04 16:09:18 73

原创 C++ 数组与指针

一、数组形参数组在传入时,实际上只传入指向其首元素的指针。数组在“退化”时会丢失边界。void average(int ary[12]); //形参ary是一个int *//...int anArray[] = {1,2,3};average(anArray); //合法void average(int ary[], int size); //传统的做法是将数组大小传入如果数组边界的精确数组很重要,并且希望函数只接受含特定数量的元素的数组,可以考虑引用形参。void avera

2021-05-04 11:30:37 4926

原创 SQLiteOpenHelper 崩溃Couldnt read row 0, col -1 from CursorWindow.

数据库table升级,加了一列,在onCreate和onUpgrade都加了相应column,版本号也升级了。结果发现部分升级安装的用户出现崩溃。崩溃信息如下java.lang.IllegalStateException: Couldnt read row 0, col -1 from CursorWindow. Make sure the Cursor is initialized corr...

2019-01-28 18:23:45 674

原创 Intent.ACTION_SEND方式分享图片到微信失败

Intent.ACTION_SEND分享图片到微信时,如果同时设置EXTRA_STREAM和EXTRA_TEXT,分享之后,会发现图片并没有发出去,文字也没有 it.putExtra(Intent.EXTRA_STREAM, shareImageUri); it.putExtra(Intent.EXTRA_TEXT, shareContent);只设置...

2018-05-24 17:06:45 2001

转载 Android 7.1 机型上报告的由Toast引起的BadTokenException错误

原文:https://segmentfault.com/q/1010000012340763,mark一下这个问题由于targetSDKVersion升到26之后,在7.1.1机型上概率性出现。稳定复现的步骤是,在Toast.show()之后,UI线程做了耗时的操作阻塞了Handler message的处理,如使用Thread.sleep(5000),然后这个崩溃就出现了。原因是7.1.1系统对T...

2018-04-28 18:09:46 534

原创 安卓获取状态栏,底部导航栏高度

状态栏即statusBar,导航栏即某些手机底部有返回键的虚拟键那一栏,叫navigationBar。1. 获取顶部statusBar高度private int getStatusBarHeight() { Resources resources = mActivity.getResources(); int resourceId = resources.getIdentifier...

2018-04-26 20:19:16 11396 1

原创 Android全面屏手机获取屏幕高度适配问题

在做手机截屏功能的时候发现,全面屏截图和调用系统的截图不一致https://blog.csdn.net/consumer11/article/details/51967340经排查,是获取手机屏幕高度的值不对getResources().getDisplayMetrics().heightPixels 在三星S8上返回的值不对,没包含系统状态栏Stack Overflow上找到了答案https:/...

2018-04-25 11:14:20 11004 1

原创 Textview android:ellipsize="middle"不起作用

android:maxLines="2"android:ellipsize ="middle"当设置maxLines为2,ellipsize="middle"时,发现文案超出部分被直接截掉了在Stack Overflow上找到答案,4.0之后的版本多行ellipsize="middle"不起作用....mark一下https://stackoverflow.com/questions/37386...

2018-03-29 15:07:30 3905

原创 Twitter分享失败com.twitter.sdk.android.core.TwitterApiException: HTTP request failed, Status: 401

Twitter分享失败,提示com.twitter.sdk.android.core.TwitterApiException: HTTP request failed, Status: 401401是指授权没成功,但问题是只有部分手机出现,并且开启翻墙也没用,排除网络原因。最后发现,去系统时间和日期那里,开启自动确定,就好了。原因可能是Twitter那边会检查两端的时间是否一致...

2018-02-12 11:54:57 34781

原创 Android 判断手机系统语言是简体中文的坑

为了简便,开始是下面的写法,讲道理没问题..../** * 判断是否是简体中文 */public static boolean isZhRCN() { return Locale.getDefault().equals(Locale.SIMPLIFIED_CHINESE);}/** Useful constant for language. */static publ

2018-02-03 18:02:35 3268 1

原创 git比较不同版本的同一个文件变化

git diff 提交id:xxx/strings.xml 新提交id:xxx/strings.xml (该次提交修改需包含此文件)-红色是删除, +绿色是新增, 白色是不变的确认前后位置用

2018-01-31 23:12:31 3815

原创 android sendTextMessage每发送一条短信都弹权限提示

做了一个可以多选联系人的页面,选择之后,sendTextMessage发送多条短信,发送之前有检查发送短信的授权,没授权将请求授权,授权成功后才发送。结果发现Oppo A1601,判断时是已授权,直接走sendInviteSMS(); 调用sendTextMessage逐条发短信,但是每发一条短信都会弹一次授权提示。经查,设置里面应用是已经被授权发送短信,是Oppo A1601自带的安全中心对

2018-01-31 23:06:01 4242 1

原创 android 发送短信,提示没有有效的接收者

一加5,选择多个联系人之后,跳转系统短信发送页,发送时提示没有有效的接收者经查,是因为多个手机号的分割符号问题,一般手机是分号;  一加5却是逗号,final List choosenContact = getChooseContactList();if (null != choosenContact && !choosenContact.isEmpty()) { clear

2018-01-31 22:52:54 4798

原创 小米note4退出google账号

在做android app使用第三方登录时,想测试google的账号登录及授权后的流程,然而登录过一次后google账号会被记住。找了好久没发现在哪去取消授权或退出google账号重新登录,在google网页端也没有。小米note4,最后在设置-》同步-》找到google账号,并移除账号,即可

2018-01-18 14:43:18 14721 1

原创 More Language设置

More Language可以让android手机切换多语言但是使用前需要root权限,或者android.permission.CHANGE_CONFIGURATION权限根据More Language上面提示,下载压缩包,之后手机USB连接电脑,打开USB调试,然后执行bat文件然而提示操作不允许,并没授权成功Operation not allowed: java.lang.S

2018-01-02 17:38:27 1234

转载 解决在onCreate()过程中获取View的width和Height为0的4种方法

解决在onCreate()过程中获取View的width和Height为0的4种方法很经常当我们动态创建某些View时,需要通过获取他们的width和height来确定别的view的布局,但是在onCreate()获取view的width和height会得到0.view.getWidth()和view.getHeight()为0的根本原因是控件还没有完成绘制,你必须等待系统将绘

2017-12-25 19:22:25 171

原创 Twitter分享失败,HTTP 403 error

twitter频繁分享,由于分享的文案内容变化很小,很容易出现非常失败,提示HTTP 403 error,通过断点看到Exception信息还有 “status is a duplicate”经查:原因是twitter认为你是重复分享内容官方文档说明 https://developer.twitter.com/en/docs/tweets/post-and-engage/api-refer

2017-11-16 15:58:08 2435

原创 Android分享视频链接到VK无法打开

android app分享视频链接到VK,突然发现有的链接没有显示视频预览图,并且无法打开(如下图1)。用其他手机去分享时,没问题(如下图2)。后面经过排查是英文版的分享时出现问题,英文分享的文案中包含了 “...... Hollywood films.Tap: https://....”在VK的分享编辑页时,films.Tap就已经被错误识别为一个链接,而原本的链接当做了普通文案(如

2017-10-30 15:43:06 5534

原创 STACK_TRACE=java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState

崩溃信息如下:STACK_TRACE=java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState     at android.support.v4.app.p.g(FragmentManager.java:1538)     at android.support.v4.a

2017-10-28 11:54:48 301

原创 Android 软键盘覆盖并抬起输入框

页面有EditText,获取焦点时,默认情况下,软键盘会把整个页面布局给顶上去假设我们想要软键盘覆盖在原页面上,只是把EditText抬起到软键盘之上,或是想监测软键盘显示或隐藏时,进行一些操作效果图    思路是用屏幕高度减键盘抬起时,页面可视区域的高度,得到软键盘的高度关键代码:Rect r = new Rect();((Activity)(mCo

2017-10-20 15:32:02 2196

原创 Android 多语言翻译文件导入和检查

一、多语言翻译文件导入项目由于APP的多语言文件经常会更新,所以可以写一个bat文件,将对应文件复制到项目中。二、多语言文件检查多语言文件字符串很多可能包含 %s、%d的情况,如果翻译时不小心去掉了,极有可能导致软件崩溃。使用Android Studio自带的Inspect Code可以检查,以规避多语言文件导致的错误。Analyze -> Inspect Co

2017-10-19 17:04:06 1373

原创 android填充内存工具(辅助测试)

介绍个android应用,可以填充手机内存,模拟内存泄漏的环境,可以用于辅助app测试Fill RAM Memorygoogle play下载链接:https://play.google.com/store/apps/details?id=me.empirical.android.application.fillmemory

2017-08-30 17:19:45 7136 2

原创 android 分享到YouTube失败 403

app分享视频到YouTube,之前都是成功的,突然就不行了,返回错误代码403.查询YouTube Data API,https://developers.google.com/youtube/v3/docs/errors403有两种情况:1、没有授权访问   2、请求超过限额经查,限额是每天100W请求上限。最终找到原因就是请求数超过了100W上限,每天下午15:0

2017-08-21 20:14:33 3510 1

原创 android判断手机是否支持某种语言

在做app多语言的时候,遇到手机不支持某种语言时,显示空白,或方框里面打叉。原因是手机系统的字体库不支持该种语言。解决思路:去检测手机系统是否支持,不支持时,不显示该种语言设置选择。方法:例如旁遮普语,语言码是pa,定义两个不同的旁遮普语字符串,将两个字符串分别写到两个大小相同的bitmap,再去比较两个bitmap每个像素值是否相同,相同表示不支持,不相同表示支持。因为不支持时,显示

2017-08-18 17:28:52 1591

转载 android 多语言设置没法切到印尼语

转自:http://zhanglu0574.blog.163.com/blog/static/113651073201591623152361/在做多语言的时候,国家都可以直接用config.locale = Locale.CHINA;或者config.locale = new Locale("ru");这样直接调用到,但是印尼的时候使用config.locale = ne

2017-08-12 10:57:37 6096

原创 Android动画开始位置和结束位置不一样问题

前段时间做个Camera手动触屏对焦的功能,FocusArea和MeteringArea设置为触屏位置,同时需要在该位置播放一个缩放动画ScaleAnimation。缩放动画是通过ImageView去播放的,一开始通过ImageView:setX和setY去设置动画的位置,诡异的事就出现了,缩放动画会从地方慢慢移动到触屏位置!而不是一开始就在触屏位置播放。而如果ImageView只显示图片,就

2017-06-03 17:57:26 1824

转载 Android中getResources().getDrawable() 过时的解决方法

转自:http://stackoverflow.com/questions/29041027/android-getresources-getdrawable-deprecated-api-22当你这个Drawable不受主题影响时ResourcesCompat.getDrawable(getResources(), R.drawable.name, null);

2017-05-22 12:10:32 11480

原创 SourceTree使用问题

初学Git之SourceTree遇到的一些问题汇总1、push时提示no new changes1)第一次想push到leader去review,结果没提交直接push。      没理解提交和推送的区别:提交时提交到本地分支,推送时更新到远程服务器分支。需要先提交,再push,同时在push时,在分支名前面加:refs/for/      提交后push按钮应该会显示1,表示有一

2017-05-19 14:51:26 3748

原创 Android NDK: Could not find application project directory

ndk-build时错误:Android NDK: Could not find application project directory ! Android NDK: Please define the NDK_PROJECT_PATH variable to point to it. /opt/android-ndk-r10b/build/core/build-local

2017-05-12 14:08:38 13827 1

原创 MATLAB VideoReader 没有注册类

问题描述:有份matlab代码,在2015版本上跑的,在自己电脑没问题,拷到服务器上跑时报错这里提到安装桌面用户体验,https://cn.mathworks.com/matlabcentral/answers/57248-error-loading-a-vide-file-using-videoreader百度了下,官网的安装步骤:https://technet.microsoft.

2017-03-18 15:12:59 1863 1

转载 十七道海量数据处理面试题与Bit-map详解

转自:http://blog.csdn.net/v_july_v/article/details/6685962十七道海量数据处理面试题与Bit-map详解作者:小桥流水,redfox66,July。前言    本博客内曾经整理过有关海量数据处理的10道面试题(十道海量数据处理面试题与十个方法大总结),此次除了

2016-09-26 10:55:06 361

栈的初始化、进栈出栈、清空栈、销毁栈

栈的初始化、进栈出栈、清空栈、销毁栈,dos输入输出

2014-03-17

循环队列初始化、进队出队、打印输出

实现循环队列初始化、进队出队、打印输出所有队列元素、获取队头元素,dos窗口输出。一般队列可在此基础上修改即可!

2014-03-17

双向链表的增删改查

实现双向链表的增删改查功能,dos窗口输入输出,可运行,有注释

2014-03-16

线性表的顺序存储 增删改查功能

线性表的顺序存储 增删改查功能 dos窗口输入输出

2014-03-16

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

TA关注的人

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