sslinp的博客

私信 关注
sslinp
码龄6年

不忘初心,方得始终!

  • 169,969
    被访问量
  • 54
    原创文章
  • 45,960
    作者排名
  • 40
    粉丝数量
  • 毕业院校 xtu
  • 于 2015-06-10 加入CSDN
获得成就
  • 获得62次点赞
  • 内容获得13次评论
  • 获得51次收藏
荣誉勋章
兴趣领域
  • #Android
    #面试#性能优化#Java#Android Jetpack
TA的专栏
  • Android源码剖析
    7篇
  • 软件性能优化
    4篇
  • Android应用层
    19篇
  • Android源码篇
    11篇
  • Android音视频
    8篇
  • NDK-JNI
    5篇
  • C++涉及
    3篇
  • libjpeg-turbo
    1篇
  • TS流
    1篇
  • 研发技能
    1篇
  • onvif
    2篇
  • crosswalk
    1篇
  • webview
    1篇
  • ffmpeg
    1篇
  • javase
    12篇
  • framework
    5篇
  • 杂谈和记录
    1篇
  • 性能优化
    4篇
  • rk3399
    1篇
  • 脚本语言
    3篇
  • Gradle
    3篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

ButterKnife源码阅读

ButterKnife 框架结构butterknife:提供绑定的入口,传入view以及target目标butterknife-annotations:定义了一系列如:view,onclick等参数、方法、成员变量等类型的运行时注解信息butterknife-compiler:封装了注解处理器(核心)butterknife-reflectbutterknife-runtime1. ...
原创
108阅读
0评论
0点赞
发布博客于 1 年前

EventBus-3.1.1源码阅读

1. 注册及查找事件1.1 EventBus初始化getDefault: 通过单例模式获取实例,同时里面采用Builder模式构造部分初始化参数,方便定制部分配置信息//Builder模式,在EventBusBuilder里面完成一些默认的初始化操作private static final EventBusBuilder DEFAULT_BUILDER = new EventBusBu...
原创
81阅读
0评论
0点赞
发布博客于 2 年前

内存优化(三)Android对象池使用

文章目录概述Android Object PoolsPools源码解析:Pools结合Builder模式使用案例:使用总结和注意事项概述由内存优化(一)浅谈内存优化中看出,内存优化不仅要从防止内存泄露入手,也要注意频繁GC卡顿,内存抖动以及不必要的内存开销造成的内存需求过大或者内存泄露。而避免内存无用开销就必须理解Android开发中的一个重要原则——对象复用。对象复用在我们开发中使用的案例...
原创
721阅读
0评论
0点赞
发布博客于 2 年前

内存优化(二)如何避免内存泄漏

文章目录一、不同生命周期导致的内存泄漏解决办法二、非静态内部类持有对象导致的内存泄漏1. 非静态内部类调用外部类的方法的2. 内部类是如何持有外部类对象?3. 如何处理非静态内部类内存泄漏问题一、不同生命周期导致的内存泄漏前面有分析了内存泄漏的原因,本该被回收的对象被占用,得不到回收便会内存泄漏。总归到底的原因还是对象引用在类之间传递,它们的生命周期不同,导致回收时发生问题。举个简单的例子:...
原创
295阅读
1评论
0点赞
发布博客于 2 年前

Thread源码剖析

对于线程Thread类的使用,可以说是java语言必备,但你是否真正意义上去剖析过他的内部结构,本文从概述的几个问题出发,一起进行源码阅读(本文基于Android-27中的Thread源码)文章目录概述一、创建使用1. 初始化2. start方法3. run方法二、Thread阻塞1.join方法2.sleep方法3.sleep与join的区别三、Thread终止1.stop方法2.inte...
原创
564阅读
0评论
0点赞
发布博客于 3 年前

Thread源码剖析

对于线程Thread类的使用,可以说是java语言必备,但你是否真正意义上去剖析过他的内部结构,本文从概述的几个问题出发,一起进行源码阅读(本文基于Android-27中的Thread源码)文章目录概述一、创建使用1. 初始化2. start方法3. run方法二、Thread阻塞1.join方法2.sleep方法3.sleep与join的区别三、Thread终止1.stop方法2.inte...
原创
564阅读
0评论
0点赞
发布博客于 3 年前

内存优化(一)浅谈内存优化

本系列文章,主要是总结我对Android开发过程中内存优化的理解,很多东西都是平常的习惯和一些细节问题,重在剖析优化的原理,养成一种良好的代码习惯。概述既然谈优化,就绕不开Android三个内存相关的经典问题:OOM内存泄漏频繁GC卡顿导致这三个问题的原因:OOMApp在启动时会从系统分配一个默认的堆内存,同时拥有一个堆内存最大值(可以动态申请这个大小),这个Max Hea...
原创
1404阅读
0评论
1点赞
发布博客于 3 年前

UI性能优化(一)Overdraw排查和调优

文章目录概述与案例排查技巧一:查看是否过度绘制排查技巧二:通过Hierachy View或者Layout Inspecot查看布局层级Overdraw优化策略一、至尊超薄去除window背景绘制上下级同色图层间保持最少图层绘制原则学会选择布局控件merge标签的使用二、不见不画,待见再画1. 动态代码加载2. ViewStub标签的使用Android的渲染机制优化是重中之重,大家都知道,但是问...
原创
881阅读
0评论
0点赞
发布博客于 3 年前

Gradle快速构建(三)多渠道打包及隐藏自动签名

文章内容:配置不同打包环境下(包括run运行的debug打包模式)指定签名,配置本地jks_config文件,自动编译签名包还记得当初刚撸android时,在一家小公司用的eclipse开发,遇到一个发布bug,自己在运行debug打包模式测试都没有遇到过,但是通过jks签名包出来就升级安装出问题了,着实蛋疼,可想,配置一个正确的开发和测试环境的重要性,当我们打测试包时,总不能一直给人家d...
原创
1624阅读
0评论
0点赞
发布博客于 3 年前

Gradle快速构建(三)多渠道打包及隐藏自动签名

文章内容:配置不同打包环境下(包括run运行的debug打包模式)指定签名,配置本地jks_config文件,自动编译签名包还记得当初刚撸android时,在一家小公司用的eclipse开发,遇到一个发布bug,自己在运行debug打包模式测试都没有遇到过,但是通过jks签名包出来就升级安装出问题了,着实蛋疼,可想,配置一个正确的开发和测试环境的重要性,当我们打测试包时,总不能一直给人家d...
原创
1624阅读
0评论
0点赞
发布博客于 3 年前

Gradle快速构建(二)gradle构建NDK编译环境

在我的文章如何使用AndroidStudio-Cmake中有说过在gradle配置jni环境,本章主要更加细致的介绍如何配置一些自定义的选项,比如选择ndk版本编译,编译不同的库,cmake编译下配置引用不同的C++ libd等。文章目录一 mk编译下自定义ndk编译指令1. 获取NDK路径2. 执行ndk编译指令3. 指定静态库的引用路径二 cmake编译选项配置1.配置AS编译方式2.配...
原创
1895阅读
0评论
0点赞
发布博客于 3 年前

Gradle快速构建(一)AS项目构建配置进阶

用Gradle构建Android Studio项目,默认会有一个基础配置,那么在这个基础上,我们通过将变量聚合在一起,既明了又简洁。文章目录一、配置源码编译路径配置资源目录二、配置编译版本和依赖版本为全局变量三、打包相关的一些配置四、Gradle编译兼容性配置1. lint检查2. 依赖仓库一、配置源码编译路径我们都知道,AS会有默认的源码编译路径,比如java的在main/java下,...
原创
1854阅读
0评论
1点赞
发布博客于 3 年前

RK3399 Camera调用USB摄像头(一)测试篇

新买的开发板RK3399外接USB摄像头,查看了下,RK3399 Android系统rom是支持底层UVC驱动的,将一些测试结果和测试demo记录下来,以免他人踩坑,如果有帮到你,请点个关注和start,谢谢一、USB摄像头连接信息打印1. Camera启动USB摄像头当打开不存在相机时warn错误警告,监听该异常处理即可。几个错误问题:相机分辨率不支持问题,打开报错(系统相机默...
原创
10472阅读
0评论
0点赞
发布博客于 3 年前

RK3399 Camera调用USB摄像头(一)测试篇

新买的开发板RK3399外接USB摄像头,查看了下,RK3399 Android系统rom是支持底层UVC驱动的,将一些测试结果和测试demo记录下来,以免他人踩坑,如果有帮到你,请点个关注和start,谢谢一、USB摄像头连接信息打印1. Camera启动USB摄像头当打开不存在相机时warn错误警告,监听该异常处理即可。几个错误问题:相机分辨率不支持问题,打开报错(系统相机默...
原创
10472阅读
0评论
0点赞
发布博客于 3 年前

【Android源码篇】 HandlerThread使用和源码分析

HandlerThread作为子线程管理常用类,他自带封装的Looper处理Message,可以说是十分实用。子线程调度任务,方便我们在子线程中做更多的花样。介绍:HandlerThread内部实现很简单,主要用在需要进行子线程调度任务的时候创建,但是想要完善熟悉原理,你必须熟悉Handler的内部原理实现。请看我的文章:【Android源码篇】 最详细的AsyncTask源码剖析看完本...
原创
2137阅读
0评论
1点赞
发布博客于 3 年前

【Android源码篇】 HandlerThread使用和源码分析

HandlerThread作为子线程管理常用类,他自带封装的Looper处理Message,可以说是十分实用。子线程调度任务,方便我们在子线程中做更多的花样。介绍:HandlerThread内部实现很简单,主要用在需要进行子线程调度任务的时候创建,但是想要完善熟悉原理,你必须熟悉Handler的内部原理实现。请看我的文章:【Android源码篇】 最详细的AsyncTask源码剖析看完本...
原创
2137阅读
0评论
1点赞
发布博客于 3 年前

【Java】单例设计模式

  一、什么是单例设计模式单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。简单的说来就是:确保一个类中只有唯一的实例,并提供给外界访问!对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正...
原创
3466阅读
1评论
0点赞
发布博客于 3 年前

【Java】文如何制作帮助文档

 如何制作帮助文档: (1)写一个类(2)加入文档注释(3)通过javadoc工具生成即可 javadoc -d 目录 -author -version ArrayTool.javaps. 输入后会自动如果原文件中没有myhelp文件夹,会自动生成一个myhelp文件夹从名称为  index.html索引页面开始观看。会发现并无换位操作,私有的不提取,属...
原创
3580阅读
0评论
0点赞
发布博客于 3 年前

【Android开发问题】Attribute "title" has already been defined 异常解决

Attribute “title” has already been defined 异常解决问题描述:在开发过程中,会存在引用jar包时,自定义的attrs.xml中属性与jar包中属性冲突的情况:碰到这个问题,我在网上查找了许多方法,包括stackoverflow等,好像没有查到很好的解决方式(汗!我的查找能力有待提高),在此我总结了下这次问题的解决办法:第一、更改自定义的属性名称,比如tit
原创
3850阅读
0评论
2点赞
发布博客于 3 年前

【Android音视频】Android—YUV格式深入浅出

文章目录Android音视频—YUV格式深入浅出概述一、什么是YUV?YUV的 planar和packed的差别?YUV,YCbCr,YPbPr写法的含义怎么理解YUV后面的三个数字呢?YUV中stride跨距的含义?二、一些常见YUV格式的区别1. YUV422—包含如:YUYV、UYVY、YUV422P2. YUV420—包含如:YV12,YU12、NV12、NV21、YUV420SP、I42...
原创
7121阅读
0评论
7点赞
发布博客于 3 年前

【Android源码篇】 深入剖析Handler内部原理

文章目录一、Handler介绍二、Handler源码剖析1. Handler构造函数:2. 创建Looper对象和mQueue消息队列3. sendMessage4. removeMessages5. post(Runnable r)6. dispatchMessage和handlerMessage三、Looper源码剖析1. myLooper方法2. Looper.prepare()创建对象3....
原创
3759阅读
0评论
2点赞
发布博客于 3 年前

AS项目运行正常,但查看代码飘红the file size exceeds configured limit.

原文:https://blog.csdn.net/qq_32227681/article/details/73331002Android Studio 项目运行正常,但查看代码飘红,看着烦,按ctrl 点击飘红的类,进不去找到该类的包名全路径,一步一步打开该类,发现Android studio上有提示:the file size exceeds configured limit.意思就是:文...
转载
2786阅读
0评论
0点赞
发布博客于 3 年前

【NDK】移植Live555到Android

文章目录一、Live555简绍二、编译live555三、解决报错四、总结有个IPC的项目有用到live555,简单编译了一下live555的动态库,作为笔记存用,因为也没碰到什么难点,有问题可以联系我一、Live555简绍Live555作为一个经典的流媒体开源框架,相信如果你要用到,肯定也有初步了解,我的项目中用到他的RTSP Server。一起来看看它的支持:The “LIVE5...
原创
4100阅读
0评论
1点赞
发布博客于 3 年前

【NDK】移植openssl到Android

一、下载&编译静态库1.下载源码和脚本下载解压,修改脚本名称为小写mkdir opensslcd openssl/wget https://www.openssl.org/source/openssl-1.1.1f.tar.gztar -zxvf openssl-1.1.0f.tar.gzcd openssl-1.1.1f/wget https://wiki.openssl...
原创
4296阅读
0评论
0点赞
发布博客于 3 年前

【BUG】You have tried to change the API from what has been previously approved.

Android 编译时碰到问题:You have tried to change the API from what has been previously approved.To make these errors go away, you have two choices:You can add “@hide” javadoc comments to the methods, et...
原创
3523阅读
0评论
0点赞
发布博客于 3 年前

系统开发(三)——完善关联Camera源码和debug调式

文章目录一、AS关联Camera2二、debug调式三、总结由上一篇文章在AS导入源码阅读成功,查看如framework层,HAL层源码都没有什么问题,但是当我们来开发系统相机时,发现还是有一大串的bug,发现是R文件引用问题导致,今天就来解决这个问题。一、AS关联Camera2上一篇一个小问题:导入的依赖配置保存失败,由于AS没有Android.iml和Android.ipr权限...
原创
3076阅读
1评论
1点赞
发布博客于 3 年前

系统开发(三)——完善关联Camera源码和debug调式

文章目录一、AS关联Camera2二、debug调式三、总结由上一篇文章在AS导入源码阅读成功,查看如framework层,HAL层源码都没有什么问题,但是当我们来开发系统相机时,发现还是有一大串的bug,发现是R文件引用问题导致,今天就来解决这个问题。一、AS关联Camera2上一篇一个小问题:导入的依赖配置保存失败,由于AS没有Android.iml和Android.ipr权限...
原创
3076阅读
1评论
1点赞
发布博客于 3 年前

【Android源码篇】 最详细的AsyncTask源码剖析

文章目录一、简单使用和介绍(会的同学可以直接跳过看源码分析)二、源码剖析1.首先从AsyncTask初始化开始2. mWorker中实现call方法,并调用doInBackground3.看Handler构成的消息传递机制4.接着看execute方法5.接着看线程池sDefaultExecutor和execute方法三、总结最近在总结Android线程优化相关的知识,顺便说说AsyncTask...
原创
3024阅读
2评论
2点赞
发布博客于 3 年前

IMX6Q Android 7.1.2 IDEGen生产Android.iml

<?xml version="1.0" encoding="UTF-8"?><module version="4" relativePaths="true" type="JAVA_MODULE"> <component name="FacetManager"> <facet t
原创
3330阅读
0评论
0点赞
发布博客于 3 年前

【BUG】no permissions (user in plugdev group; are your udev rules wrong?

ubuntu 18接开发板子,发现adb这个提示,查看:felix@felix-desktop:~/wd500g/eyemore-i.mx/android_n7$ lsusbBus 001 Device 002: ID 8087:8001 Intel Corp.Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus...
原创
3357阅读
0评论
1点赞
发布博客于 3 年前

【BUG】no permissions (user in plugdev group; are your udev rules wrong?

ubuntu 18接开发板子,发现adb这个提示,查看:felix@felix-desktop:~/wd500g/eyemore-i.mx/android_n7$ lsusbBus 001 Device 002: ID 8087:8001 Intel Corp.Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus...
原创
3357阅读
0评论
1点赞
发布博客于 3 年前

【Android源码篇】系统开发(二)——AndroidStudio如何调式源码

我的系统开发文章:一、Android源码篇】系统开发(一)——ubuntu编译I.MX6Q源码7.0二、文章目录一、简介与环境二、IDEGen的使用(AS下)1. 参考它的README文档,必读——注意点:2. 编译IDEGen三、导入源码1. 导入我们需要的库2. 关联源码跳转3. OKOK的四、总结在上一篇中,编译了IMX6Q Android 7.0的源码,由于我们的需求是Camer...
原创
3358阅读
0评论
2点赞
发布博客于 3 年前

【Android音视频】ubuntu编译ffmpeg动态库

文章目录参考文章1. 编译环境2. 下载ffmpeg到本地,配置编译脚本3. 问题修复(限于该环境配置):4. 如何裁切5. ffmpeg配置不同扩展功能参考文章https://blog.csdn.net/leixiaohua1020/article/details/47008825 雷霄骅1. 编译环境NDK:android-ndk-r15cFFMPEG: ffmpeg-3.4...
原创
3596阅读
0评论
2点赞
发布博客于 3 年前

【Android】Crosswalk 开发浅析

最近的项目中,有用到phonegap,并需要展示一些需要高效渲染的网页,同情况下,IOS跑起来轻松无比,但是Webview。。。。(泪奔),在焦头烂额的机型及版本适配中,发现了Crosswalk项目。一、 在使用 Crosswalk框架之前,我们必须得了解 Crosswalk1. Crosswalk是一款开源的Web引擎,其基于 Chromium/Blink 的应用运行环境,对于混合开...
原创
5984阅读
3评论
2点赞
发布博客于 3 年前

【Android源码篇】RK3399调式问题—卡刷的luUbuntu系统再刷Android系统出现关机重启黑屏问题&Unable-to-open-'-sys-an

卡刷的luUbuntu系统再刷Android系统出现关机重启黑屏问题,串口调式Log:Service 'media'(pid 3545) killed by signal 9Unable to open '/sys/android_power/request_state':init:....init:....重新卡刷,发现问题依然存在查看wiki文档说明,应该是eMMC的系统损坏了,...
原创
3835阅读
0评论
2点赞
发布博客于 3 年前

【Android音视频】Onvif-IPC开发(二)——JAVA版本onvif服务器构建Onvif-IPC

文章目录Android端实现Onvif IPC开发:本篇内容简介:一、作为Server端实现被发现功能二、在Android上搭建一个Server用于接收和响应Client请求####三、当当当当当!,完成上面的服务框架搭建,启动服务接下来我们要搭建RTSP服务器,即可以在标准工具中进行播放,请查看我的下一篇文章:《Android端实现Onvif IPC开发(三)——在Android端搭建RTSP服...
原创
4989阅读
1评论
3点赞
发布博客于 3 年前

【Android音视频】Onvif-IPC开发(一)——gSoap-onvif移植NDK

文章目录Android端实现Onvif IPC开发:阅读说明(必读)参考文档:一、本篇项目简介二、环境搭建三、测试工具Android jni工程给出参考文档:四、gSoap生成代码中的主要的坑Android端实现Onvif IPC开发:《Android端实现Onvif IPC开发(一)——gSoap移植NDK尝试》《Android端实现Onvif IPC开发(二)——在Android端搭建服...
原创
4834阅读
2评论
2点赞
发布博客于 3 年前

【Android】Android-键盘遮盖界面布局问题

一、在解决Android输入法键盘弹出问题是,我们先来了解几个常用的api<activity android:windowSoftInputMode= "A"'>A=“stateUnspecified” 依赖系统或者主题去设置键盘弹出A=“stateHidden” 控制键盘不自动弹出A=“stateUnchanged” 保持上一个Activity的键盘弹出属性设置A=“...
原创
3396阅读
0评论
1点赞
发布博客于 3 年前

【Android】Android外接音源设备之小蜜蜂坑

在开发直播APP时,有用到小蜜蜂外接音源,总是会存在声音噪音很大或者很多手机声音很小的问题:适配的几个手机都测试了,总是得不到解决方案,因为在外接小蜜蜂MIC时,会用到转接线最开始考虑的是否转接线存在国标和美标的问题,结果发现确实有影响但是还是存在问题,声音并非完美,客户使用在即,急的不行,晚上找到技术老大,叫来硬件工程师一起联调,最后在转接线上加了阻尼,虽然存在很大问题,但总算稍微能用了...
原创
4951阅读
0评论
1点赞
发布博客于 3 年前

【Android】关于魅族机型适配问题

一、魅族hold 下拉悬停功能的屏蔽魅族自带的下拉悬停功能有时用起来体验太差,Android开发中很多地方会碰到与设计想冲突的地方一般如:ListView ScrollView 等可下滑控件操作是会碰到,如需选择性屏蔽可通过如下API实现: * .setOverScrollMode(View.OVER_SCROLL_NEVER);二、魅族SmartBar适配魅族的SB...
原创
3857阅读
0评论
2点赞
发布博客于 3 年前

【Android】问题集锦

1. Release apk打包问题:Lint found fatal errors while assembling a release target.问题解决:多个activity注册问题,或者部分警告在release中编译不过的问题android { lintOptions { checkReleaseBuilds false // Or, if...
原创
3223阅读
0评论
2点赞
发布博客于 3 年前

【开发】Git指令操作和使用—听说指令看起来比客户端骚

文章目录前言:一、Git下载三、Git关联&推送&回退&删除&克隆操作以github为例四、Git项目分支创建管理四、在具体项目协作中如何整合版本好了,一些常用的指令操作已经学完了,快去练习一下吧。git的操作远远不止这些,在开发过程中可以参考他的中文指导文档:前言:Git作为分布式版本控制系统,是我们工作和开源代码平台项目管理最火的工具之一,基本上是每个入职的...
原创
3209阅读
0评论
2点赞
发布博客于 3 年前

【Android】android 8.0系统API问题适配和学习

文章目录一、Android 8.0遇到的问题1. 线程中断:2. invalid pthread_t 0x2243df2546 passed to libc二、改动:(这一切都是基于targetApi=26)1. 在新版的gradle要求中,软件在2018年底google市场强制要求,软件targetApi=26,一些简单的代码改动,如依赖包写法等,不提2. 后台执行限制:这一点很重要,andro...
原创
3835阅读
0评论
1点赞
发布博客于 3 年前

【Android源码篇】系统开发(一)——ubuntu编译I.MX6Q源码7.0

文章目录参考文档:一、Android刷机的组件含义二、搭建Android源码编译环境I.MX6Q Android端编译流程1. 编译命令(Ubuntu 16.04下编译)部分实用指令repo指令参考文档:Google源码编译介绍自己动手编译Android源码[I.MX6Q][Android6.0.1_r3]之源码获取及编译一、Android刷机的组件含义Android 启动流程...
原创
3368阅读
0评论
2点赞
发布博客于 3 年前

【Android音视频】Android TS流数据解析和回调

文章目录一、TS流简介1. **什么是TS流 :**2. **在学习TS流是需要了解的部分定义:**3. **解析TS流的重点在于理解他的表结构:解析TS流的流程主要是通过对应的PID去分布解析我们需要的信息,从而截取出对应的有效数据**4. **解析流程:具体的对应结构在我上面列出的参考文章中都讲解的非常详细,本文主要写一个简单流程引导,做到一个快速集成到项目的目的**二、TS流解析代码三、数据...
原创
5893阅读
2评论
3点赞
发布博客于 3 年前

【Android】代码混淆常用&高级技巧

文章目录一、在项目工程目录下创建混淆文档:proguard-rules.pro二、在项目gradle文档中声明:三、部分高级混淆的规则:android apk防护的方法有很多,代码混淆只能算是一个门槛,还有包括Dalvik字节码加密,DEX加壳保护,DEX指令动态加载保护和高级源码混淆保护等等,有空再慢慢尝试学习,目前一些比较火的第三方混淆方案:还有网上一个很有意思的混淆字典:写这篇文章作为一...
原创
3800阅读
0评论
2点赞
发布博客于 3 年前

【JNI】Native动态注册演练

文章目录前言:一、JNI Native注册介绍二、动态注册的具体事例三、jni对应参数映射表以上就是JNI动态注册的正常使用步骤,当然在项目中还可以更具体的封装,掌握动态注册是进行大型项目开发的必修课~前言:前几天分享了一篇关于TS流解析的文章,有朋友在问,你怎么不使用动态注册呀,什么是JN动态注册呢?今天给大家介绍使用一下。一、JNI Native注册介绍jni native注册主要有2...
原创
2953阅读
0评论
2点赞
发布博客于 3 年前

【JNI】如何使用AndroidStudio-Cmake

文章目录参考文档Cmake使用条件:Cmake是什么新的Cmake使用Cmake语法介绍随着gradle的更新,对jni的支持越来越完善,大部分Android开发对于jni及C/C++的开发比较头疼,因为没有语法提示或者方法类名索引等。原本我的几个项目,都是在jni目录定义的android.mk和application.mk,由于老版本的gradle对“-std=c++11”库支持不够,所以...
原创
2842阅读
0评论
2点赞
发布博客于 3 年前

【Android】WebView加载html与JS交互

文章目录一、加载Html的几种方法二、加载页面时几种简单API使用三、浏览器优化操作处理:四、WebView与JS交互问题解决:HTML5交互:HTML5地理位置服务在Android中的应用:构建HTML5离线应用:在线状态检测Android与JS之间的互相调用在Android中调用JS的方法:Android中处理JS的警告,对话框等Android中的调试:一、加载Html的几种方法直接在...
原创
6038阅读
0评论
3点赞
发布博客于 3 年前

【Android】SAX解析XML文件

文章目录一、SAX解析的优点二、SAX解析流程一、SAX解析的优点SAX解析是逐行解析XML,占用内存小,效率高,速度快,接下来通过一个小demo演示如何去通过sax解析xml二、SAX解析流程确定要解析的xml <?xml version="1.0" encoding="utf-8"?> <books xmlns:pre=&quo
原创
2685阅读
0评论
2点赞
发布博客于 3 年前

【Android音视频】libjpeg-turbo编译笔记

文章目录参考文献,谢谢指引:libjpeg-turbo下载及编译静态库libjpeg-turbo碰到的问题学习libjpeg-turbo的原因,最近项目中需要解码1080p的图片转为yuv进行视频预览,原本的ffmpeg实现解码及缩放图片,但是在大部分主流Android机型上效率不高,android手机发热会有明显降频现象,导致速率降低,偶尔在网上看到libjpeg-turbo库比libjpe...
原创
2522阅读
0评论
2点赞
发布博客于 3 年前

AndroidIPC_apk

Android端实现的基于Onvif的IPC,https://www.jianshu.com/p/e241fc0e23f2
zip
发布资源于 3 年前

【Java】正则表达式

 一、正则表达式理解正则即是正确的规则。正则表达式通过一些特殊的符号来操作字符串数据,可以简化书写,不过定义太多也不便于阅读。 字符 x 字符 x \\ 反斜线字符 \0n 带有八进制值 0 的字符 n (0 <= n <= 7) \0nn 带有八进制值 0 的字符 nn (0 <= n <= 7) \0mnn...
原创
2685阅读
0评论
1点赞
发布博客于 6 年前

【Java】网络编程基础

 一、网络编程的概述:计算机网络:是指将多台位置不同的具有独立功能的计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。网络编程:就是用来实现网络互连的不同计算机软件间进行数据交换。 网络模型:OSI(开放系统互连)参考模型TCP/IP参考模型程人员的工作是传输层和网...
原创
2804阅读
0评论
0点赞
发布博客于 6 年前

【Java】中的(JDK5新特性)枚举

  一、枚举概述:理解:是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内。举例:一周只要7天,一年只有12个月等。  回想单例设计模式:单例类是一个类只有一个 实例。那么多例就是一个类有多个实例,但不是无限个数的实例,而是有限个数的实例。这才是枚举类。  通过自己定义一个枚举类来演示案例第一版:简单型。 package ...
原创
1942阅读
0评论
0点赞
发布博客于 6 年前

【Java】中反射机制

 一、类的加载:原理理解:当使用某个类的时候,如果该类还没有被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化。a、 加载:就是指将class文件读入到内存,并创建一个Class对象         任何类被使用时系统都会建立一个Class对象b、连接:          验证 : 是否有正确的内部结果,并和其他类协调一致。 ...
原创
1806阅读
0评论
0点赞
发布博客于 6 年前

【Java】中泛型的基本应用

  泛型基础知识:案例演示1: import java.util.ArrayList;import java.util.Iterator;class GenericDemo{ public static void main(String[] args) { ArrayList al = new ArrayList(); al.add("abc01")...
原创
1560阅读
0评论
0点赞
发布博客于 6 年前

【Java】IO流学习

 一、什么是IO流IO流用来处理设备之间的数据传输。Java对数据的操作是通过流的方式。Java用于操作流的对象都在IO包中。输入流和输出流相对于内存设备而言。IO流的分类根据处理数据类型的不同分为:字符流和字节流。根据数据流向不同分为:输入流和输出流。流的分类1、按功能分 读取流:InputStream Reader 写出流:OutPutStream Writ...
原创
1379阅读
0评论
0点赞
发布博客于 6 年前

【Java】的常用类String

  一、String类的特点: 字符串对象一旦被初始化就不会被改变例如:public class StringDemo{       public static void main(String[] args){             String s = "abc";              s = "nba";            System.out...
原创
1112阅读
0评论
0点赞
发布博客于 6 年前

【Java】面向对象的理解3

  一、什么是对象:理解:面向对象就是把各种事物当做一个类,要想使用类做事,就必须创建类的实例。比如人是一个类,我们总不能说叫人去做事吧(这样没有针对性),我们往往说叫张三 or 李四去,这张三 or 李四就是人这个类的一个实例。这就是对象的概念。再就是事件和动作,比如开门,关门,开关门的不是人,而是门来完成的,门轴转动带动门的闭合,门就是一个对象。使用计算机语言就是不断地在描述现实生活中...
原创
693阅读
0评论
1点赞
发布博客于 6 年前

【Java】基础笔记2

 一、JAVA的一些书写规范:标示符: 1. 数字不可以开头,例如:2Demo就不可以。2. 不可以使用关键字,例如:public就不可以,因为public是关键字。3. 不可以包含“_、$”以外的特殊符号,例如:“Demo Test”就不可以,其中的空格就是特殊符号。    P.S.    1、Java中严格区分大小写。    2、在起名字时,为了提高阅读性,...
原创
646阅读
0评论
0点赞
发布博客于 6 年前

【Java】java基础

 在今天写下这篇日记,作为一个开始,一个学习的总结,给今后的自己一点点的经验和指向。期望“长风破浪会有时,直挂云帆济沧海!” 一、Java基本常识学习——朦胧中的相遇,擦出兴趣的火花!第一天里了解了很多东西,比如令人感兴趣的DOS命令: dir(directory):列出当前目录下的文件以及文件夹md(make directory):创建目录rd(remove ...
原创
874阅读
0评论
2点赞
发布博客于 6 年前