自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (6)
  • 收藏
  • 关注

转载 java类加载机制记录

作者:动力节点链接:https://zhuanlan.zhihu.com/p/68089617来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。什么是类加载类加载指的是将类Class文件读入内存,并为之创建一个java.lang.Class对象,class文件被载入到了内存之后,才能被其它class所引用 jvm启动的时候,并不会一次性加载所有的cl...

2019-06-24 08:56:45 168

原创 AIDL死亡回调

AIDL常用在android服务端与客户端之间的通信中,容易发生客户端或者服务端死亡,无法通知到对端情况,从而造成客户端不知服务端死亡或者服务端不知客户端死亡,还在进行数据回调操作。1 客户端意外死亡在服务端的监听方式 服务端通过监听服务端设置的AIDL回调,实现死亡代理,服务端在监听到死亡代理时,将已死亡的客户端回调移除。 callb...

2019-06-20 16:40:47 2507

原创 java 线程退出方法

Android终止线程的方法 线程对象属于一次性消耗品,一般线程执行完run方法之后,线程就正常结束了,线程结束之后就报废了,不能再次start,只能新建一个线程对象。但有时run方法是永远不会结束的。如循环监听,如何退出线程呢?有三种方法可以结束线程:1. 使用退出标志,使线程正常退出,也就是当run方法完成后线程终止2. 使用interrupt()方法中断线程3....

2019-06-18 10:30:47 3707

原创 关于android 生成不同尺寸下autolayout原理与使用流程记录

1.android通过不同values命名适配的规则 如常见的values-480x320,values-800x480,values-854x480,values-894x540,values-960x540,命名规则为values-hx w2.如何获取屏幕真实分辨率/*** 打印不包括虚拟按键的分辨率、屏幕密度dpi、最小宽度sw*/public void printR...

2019-04-23 15:42:53 319

转载 Cmake常用语法记录说明

转载于https://www.jianshu.com/p/6332418b12b1CMake的编译使用记录1 NDK 简介在介绍NDK之前还是首推 Android 官方NDK文档。传送门官方文档分别从以下几个方面介绍了NDKNDK的基础概念 如何编译NDK项目 ABI是什么以及不同 CPU 指令集支持哪些ABI 如何使用您自己及其他预建的库本节将会对...

2019-04-22 10:23:10 1305

转载 JAVA FORK-JOIN的使用例子

转载于https://www.jianshu.com/p/85100d3b4a2c在实际的开发过程中,大家都会注意到不在UI线程中去做IO或复杂业务处理,却往往忽视了在性能方面的优化。在Android开发过程中只是区分UI线程和非UI线程只能解决UI无响应(ANR)的问题,但是还是对程序或者某个业务模块的性能的提升却是了了,具体表现形式就是菊花时间长。之所以出现这种现象是因为我们在实际的开发...

2019-04-20 08:45:29 316

原创 HTTP不同请求报文解析

1 post application/json(表单提交形式)2 postmultipart/form-data(文件表单提交)3 http直接传json形式http get请求报文

2018-09-28 15:35:11 369

转载 android 系统隐藏API使用方法

怎样查看并且使用 Android 隐藏 API 和内部 API Android 有两种类型的 API 不能通过 SDK 访问。一种是在 com.android.internal 包中的 API,称之为 internal API。另一种是被标记为 @hide 属性的类和方法,这是一组小级别的被隐藏的 API,称之为 hidden API。当使用 Android SDK 进行开发的时候,应...

2018-09-20 11:34:00 1549

原创 adb 常用命令记录

1. 显示当前连接设备adb devices 2. 安装软件 --将指定的apk文件安装到设备上adb install <apk文件路径> 3. 卸载软件adb uninstall <软件名> adb uninstall -k <软件名>         如果加 -k 参数,为卸载软件但是保留配置和缓存文件.4. 登录设备shell...

2018-08-31 11:02:20 165

转载 Android Binder IPC通信机制对比

摘要Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统IPC做对比有助于我们深入领会进程间通信的实现和性能优化。本文将对Binder的设计细节做一个全面的阐述,首先通过介绍Binder通信模型和Bin...

2018-08-31 10:56:08 1899

转载 android java虚拟机 Dalvik虚拟机和ART虚拟机简要对比

转载 https://www.jianshu.com/p/8edac8e09b3e1. 什么是JVM?JVM本质上就是一个软件,是计算机硬件的一层软件抽象,在这之上才能够运行Java程序,JAVA在编译后会生成类似于汇编语言的JVM字节码,与C语言编译后产生的汇编语言不同的是,C编译成的汇编语言会直接在硬件上跑,但JAVA编译后生成的字节码是在JVM上跑,需要由JVM把字节码翻译成机器指令...

2018-08-31 10:46:56 1734

原创 android listview gridview 嵌套于scrollview问题

       在ScrollView中嵌套使用了ListView/GridView,ListView/GridView只显示一行,为了解决这个问题,重写了ListView/GridView的onMeasure()方法。       通过改写onmesure方法可显示多行public class WrapContentGridView extends GridView { publ...

2018-08-21 20:02:51 178

原创 Webrtc Acem模块Android端单独编译与使用

   1 编译过程:    由于便于过程与环境各不相同,简单记录编译思路为,抽出webrtc单独模块,根据头文件链接,将所需源文件记录于Android.mk。直至该模块所有源文件齐全,编译出so。    2 使用记录    demo提供实例为文件回音消除方案,实际语音对讲项目多采用多线程,一条接收,一条录制编码,发送等,所以需在demo基础上进行改动。具体代码如下:#include "AcemNa...

2018-06-22 10:30:29 2222 1

原创 speex 在android上降噪与回音消除使用

        音频的录制,播放传输,势必离不开音频的降噪和回音消除,特别是在语音的双向对讲过程中,回音消除是必须跨越的门槛,总结在jni代码中,代码实现如下,具体调试流程,参数设置则只能说多次测试的结果。配合speex源码编译成so后即可使用。#include <stdio.h>#include <jni.h>#include <string.h>#in...

2018-05-31 15:39:48 8214 8

原创 android平台 AES256加密使用

1 加密流程     客户端底层私有数据,如用户信息,服务器信息等数据需要在保存时加密,使用时解密,具体流程为使用公钥进行加密,使用私钥进行解密。此密钥对置于客户端,不宜与服务端通讯秘钥一致。    客户端与服务端进行通讯数据加密,此时私钥不宜置于客户端,整体流程为客户端使用公钥对请求数据进行加密,服务端使用私钥进行解密,响应客户端时使用私钥进行加密,客户端得到数据使用私钥进行解密。2 秘钥保存 ...

2018-05-30 10:16:20 2431

原创 android 动态权限申请 rxjava2实现方法

     由于自 2018 年下半年起,google play强制新推出的应用和应用更新将需要使用新近的 API 级别。所以使用targetSdkVersion 22作为解决方案不在可行。        手动实现动态权限申请则需申请处代码和结果处理处代码不能处于同一代码块导致代码阅读和处理不便,看到有rxjava的实现方案。其原理是在需申请的权限的activity通过添加一个透明的fragment...

2018-03-09 10:48:15 520

原创 android 自定义拼接http报文

android 自定义 http 报文拼接

2018-01-04 14:51:56 523

原创 JNI常用命令记录

1 快速生成头文件(android studio)1.1 java类中声明native方法1.2  make project(生成class文件)1.3 在Terminal中cd 到app/main目录下1.4 使用java.h命令,指定输出位置和目标class文件(无需后缀名.class)javah -d jni -jni -classpath build\interme

2018-01-04 14:00:40 237

原创 android ffmpeg软,硬解码实现(ffmpeg 3.3.4)

前提:编译出ffmpeg.so库文件,或者从某处得到可用so,可依照上一篇配置文件进行配置,裁剪编译。1 软解码实现:JNIEXPORT int JNICALL Java_h264_Native_PlayLocalVideo(JNIEnv *env, jobject obj,jstring inputFilePath_,jobject surface) { const char *

2018-01-03 17:16:32 4152 2

原创 Android插件化开发学习-Small

android 插件开发small学习记录

2018-01-02 11:49:58 196

原创 Jni 多线程编程,子线程回调java方法

jni 回调c++中socket接收数据到java实例代码

2017-12-13 11:57:54 1094

原创 java/android的链式写法

常见类set/get写法与调用public class MsgInfo {/** * 消息的类型 */public static class Type { public final static int TEXT = 0; // 文本消息 public final static int IMAGE = 1; // 图片消息 public final static int

2017-11-20 15:45:23 371

原创 C结构体与JAVA类的相互转换

jni转换 c结构体到java类

2017-11-14 14:16:57 4483

转载 android 事件分发机制

Touch事件分发中只有两个主角:ViewGroup和View。Activity的Touch事件事实上是调用它内部的ViewGroup的Touch事件,可以直接当成ViewGroup处理。View在ViewGroup内,ViewGroup也可以在其他ViewGroup内,这时候把内部的ViewGroup当成View来分析。ViewGroup的相关事件有三个:onInterceptT

2017-10-28 10:03:23 171

原创 android 界面布局技巧记录

\u0020\u0020\u0020\u0020\ 空格符,代替一个空格在background 属性内可使用        这样处理在单击需要点击效果的情况下避免onclick 与 ontouch事件覆盖1.Listview 减少一层布局方法,在第二行消失时,第一行自动居中显示    android:layout_width=

2017-10-27 15:23:45 222

原创 listview复用原理

1.ListView的复用机制2.ViewHolder的概念 1.ListView的复用机制  ListView是我们经常使用的一个控件,虽然说都会用,但是却并不一定完全清楚ListView的复用机制,虽然在Android 5.0版本之后提供了RecycleView去替代ListView和GridView,提供了一种插拔式的体验,也就是所谓的模块化。本篇主要针对

2017-10-19 22:17:33 791 1

转载 jni教程与技术手册

xmlns="http://www.w3.org/1999/xhtml">    rel="canonical" href="http://blog.csdn.net/shensky711/article/details/52806794"/>

2017-10-17 10:45:36 403

转载 android jni 编译 mk属性详解

概述    Android.mk文件用来向编译系统描述如何编译你的源代码。更确切地说,该文件其实就是一个小型的Makefile。由于该文件会被NDK的编译工具解析多次,因此应该尽量减少源码中声明变量,因为这些变量可能会被多次定义从而影响到后面的解析。这个文件的语法允许把源代码组织成模块,每个模块属于下列类型之一:APK程序:一般的Android程序,编译打包生成apk文件。JA

2017-10-13 11:34:26 366

转载 jni常用函数注释

记录下jni常用函数api一、对照表Java类型    本地类型         描述boolean    jboolean       C/C++8位整型byte       jbyte          C/C++带符号的8位整型char       jchar          C/C++无符号的16位整型short      jshort         C

2017-10-13 11:02:35 552

原创 android jni 动态加载

Andoird 中使用了一种不同传统Java JNI的方式来定义其native的函数。其中很重要的区别是Andorid使用了一种Java 和 C 函数的映射表数组,并在其中描述了函数的参数和返回值。这个数组的类型是JNINativeMethod,定义如下:typedef struct {const char* name;const char* signature;void* fnP

2017-10-12 16:37:32 517

原创 android 生命周期理解

android 生命周期图如下android各生命周期触发时机:onCreate:create表示创建,这是Activity生命周期的第一个方法,也是我们在android开发中接触的最多的生命周期方法。它本身的作用是进行Activity的一些初始化工作,比如使用setContentView加载布局,对一些控件和变量进行初始化等。但也有很多人将很多与初始化无关

2017-10-12 15:50:35 731 1

原创 android平台ffmpeg编译流程

环境 ubuntu 14.04 LTS资源文件下载ffmpeg源码: http://www.ffmpeg.org/download.html下载linux版ndk: http://developer.android.com/ndk/downloads/index.html(64位) 1 修改  进入到ffmpeg目录,打开configure文件,找到以下几行:SLIBN

2017-10-10 15:07:56 421

原创 android 混淆和去除无用资源

利用gradle去除无效资源文件与混淆

2016-11-09 11:19:10 3342

android autoLayout.jar

android适配不同分辨率资源文件生成工具,帮助快速完成UI图到不同设备分辨率的卡死适配,工具简单实用,上手快捷。

2019-04-23

android 利用speex 音频降噪,回声消除demo

android 利用speex 音频降噪,回声消除demo,提高音频播放质量

2017-11-29

ffmpeg含neno加速so文件

基于ffmpeg2.8,编译裁剪出支持h264,mp4,neno加速的ffmpeg版本

2017-07-21

android自定义http报文上传文件

使用HttpURLConnection,自定义拼接 http报文实现上传文件和参数

2017-07-21

android图片标记

android图片标记,涂鸦,支持在图片上画线,画椭圆,方形等,支持撤销,恢复,保存

2017-02-18

httpwatch工具,安装即可

好用的网络参数抓取工具 ,简单快捷好用

2015-06-08

空空如也

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

TA关注的人

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