自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JNI子线程中调用Activity中的方法

如果不涉及多线程,可以通过JNIEnv*获取jclass与jmethodID并通过CallMethod直接调用Java方法。但是,在子线程中,由于JNIEnv是线程相关的,无法获取到jclass jmethod等问题,很容易导致程序崩溃(还是那种一大坨、看不懂的红字...)。因此,需要借助“进程”相关地JavaVM全局地获取JNIEnv实现调用Java方法。思路:1.构造全局的J...

2019-05-24 18:12:42 1092 2

原创 fwrite写入字节数与实际不符,解决:刷新缓冲区

遇到这样一个情况:以二进制形式打开文件,循环中每次fwrite写入固定字节,但每次实际写入字节数与fwrite参数都不一样,有多有少,但是!循环完后总的字节数是一致的。于是打开google搜索,大多是说不以二进制打开的情况下会产生多余字节,自动添加\n等,显然与我的情况不符。进一步搜索,问题得到了解决:C库函数写文件通过缓冲区,所以产生每次fwrite字节数不一的情...

2019-04-28 21:37:40 5662

原创 Android RecyclerView用法

1.导入v7包。app下gradle文件加入implementation 'com.android.support:recyclerview-v7:28.0.0'注意版本号应与v7包相同。2.创建Adapter。创建自定义Adapter,定义内部类ViewHolder继承自RecyclerView.ViewHolder,static class ViewHolder e...

2019-02-17 14:30:31 192

原创 如何解决WARNING: ABIs [armeabi-v7a,armeabi] set by 'android.injected.build.abi' gradle flag contained 'A

 在app:build.gradle中添加:externalNativeBuild { cmake { cppFlags "" arguments "-DANDROID_STL=c++_shared" }}

2018-12-31 16:44:48 9871 2

原创 Android Studio:跑过的项目突然出bug,没经过任何改变。

遇到这种玄学bug或者build没问题,run出问题有时只要close项目再打开一次就可以解决不知道为啥。。。

2018-12-31 16:34:40 276

原创 Android NDK添加NEON以及cpufeatures支持

本人使用Android studio3.0进行NDK开发,由于Android develop官网文档是针对2.2版本以下,这里为2.2以上版本的cmakelist配置做以下纪录:一、添加NEON支持:在build.gradle(app)中添加:externalNativeBuild { cmake { cppFlags "" arguments...

2018-12-13 16:35:51 1826 4

原创 NDK/JNI调用java静态方法(多参数)

1.在java类中声明静态方法:public static void showLog(String string, int frame , int model) {...}2.在cpp中获取java类及方法ID:jclass clazz = env->FindClass("com/../.../.../MainActivity");jmethodID id = env-&g...

2018-11-24 16:07:39 968

原创 NDK开发armeabi下字节对齐问题

本人使用Android studio进行NDK开发,模拟器测试没问题,真机测试出现bug:Fatal signal 7 (SIGBUS), code 1, fault addr 0x86a16861 in tid 18277 (Thread-3484)原因:默认字节对齐方式下访问float指针会引发此错误,模拟器是x86,而真机是arm。解决办法:手动设置字节对齐方式#pragm...

2018-11-24 13:27:56 1202

原创 Android动态申请SDcard权限

Android6.0后必须使用动态申请SDcard权限,否则会抛出"java.io.FileNotFoundException"异常。try { //检测是否有写的权限 int permission = ActivityCompat.checkSelfPermission(this, "android.permission.WRITE_EXTERNAL...

2018-11-17 11:06:26 2014

原创 Android NDK/JNI cmake开发入门教程

本人使用Android Studio3.0进行JNI开发,在Android Studio2.2之前都是使用Android.mk进行开发,Android Studio2.2及以上采用更加简便的NDK + Cmake + Cmakelist.txt开发。一、首先新建Android Studio项目,勾选C++支持选项,Android Studio会自动构建好JNI HelloWorld项目及其目录...

2018-11-15 17:40:32 174

原创 解决Android studio编译大文件,狂占内存、卡爆的问题

本人使用Android studio3.1进行NDK/JNI开发,遇到编译一个11.4M的巨大.h文件(储存一个5万行的数组),编译器默认1024M内存,完全不够用,编译后狂战内存直至卡爆。解决方法:调整Android studio内存设置Help -> Edit Custom VM Options-Xms1024m-Xmx8192m-XX:ReservedCodeCach...

2018-11-15 13:50:21 3356

原创 Python3 opencv环境配置

本人使用Anaconda创建python=3.6的环境,安装opencv库:进入Anaconda终端:pip install opencv_python显示:(cv) C:\Users\Echo>pip install opencv_pythonCollecting opencv_python  Downloading https://files.pythonhosted.o...

2018-11-14 19:36:06 646

转载 Adnroid进阶:Handler、Looper、Message、MessageQueue基础流程分析

转自:https://github.com/francistao/LearningNotes/blob/master/Part1/Android/%E7%BA%BF%E7%A8%8B%E9%80%9A%E4%BF%A1%E5%9F%BA%E7%A1%80%E6%B5%81%E7%A8%8B%E5%88%86%E6%9E%90.mdLooper(先分析这个是因为能够引出四者的关系) 在Loo...

2018-09-12 20:08:25 122

转载 Android进阶:内存泄漏

Android进阶:内存泄漏转载自:https://github.com/francistao/LearningNotes/blob/master/Part1/Android一、什么是Java中的内存泄露在Java中,内存泄漏就是存在一些被分配的对象,这些对象有下面两个特点,首先,这些对象是可达的,即在有向图中,存在通路可以与其相连;其次,这些对象是无用的,即程序以后不会再使用这些对象...

2018-09-12 19:58:25 120

空空如也

空空如也

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

TA关注的人

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