- 博客(145)
- 资源 (23)
- 收藏
- 关注

原创 学习Android收藏的 网址(持续更新)
收集Android有用的网站:1:Android各类信息 https://github.com/Freelander/Android_Data2:面试有可能的问题答案 https://github.com/GeniusVJR/LearningNotes3:类似Android的开发手册 http...
2017-03-03 09:52:21
591
转载 android-内部类导致的内存泄漏实战解析
参考:Android 如何有效的解决内存泄漏的问题Java-内部类的相关知识Android-LeakCanary检测内存泄漏非静态内部类: 成员内部类, 局部内部类、 匿名内部类。 会有对外部类的引用。这样内部类中耗时操作在用户频繁退出重启APP相关Activity时很容易导致内存泄漏。一、匿名内部类:Runnable1、泄漏版 new Thread(new R...
2019-07-20 16:56:04
551
原创 内存泄漏分析,工具,泄漏的情况
一:内存泄漏的概念内存泄漏:内存不再GC的掌控中。也就是一个对象不再需要使用,本该被回收时,但是有另外一个对象持有该对象,导致对象不能回收。这种导致本该回收的对象不能回收且停留在堆内存中,这就是内存泄漏。内存分配策略:静态内存:存放静态数据,这块内存是在编译时就已经分配好的,在整个运行期间都存在。他主要存放静态数据、全局的static数据和一些常量。 栈内存:程序执行是,局部变量的创...
2019-07-20 16:36:45
767
原创 Eclipse 和Android studio ndk配置生成.h工具和生成.so文件,javap查询类方法的签名查询,添加c代码提示的选择
Eclipse:1:配置生成头文件.h如图所示,点击External ToolsConfigurations... ...
2019-07-19 16:32:59
659
原创 高效的把摄像头data数据转换为bitmap
public class FastYUVtoRGB { private RenderScript rs; private ScriptIntrinsicYuvToRGB yuvToRgbIntrinsic; private Type.Builder yuvType, rgbaType; private Allocation in, out; public...
2019-07-12 17:03:09
1168
原创 Android 音视频开发(十八) :做一款短视频 APP,完成如:断点拍摄、添加水印、本地转码、视频剪辑、视频拼接、MV 特效等功能
待完成
2019-01-12 14:34:33
1192
1
原创 Android 音视频开发(十七) : 将 librtmp 库移植到 Android 平台,结合上面积累的经验,完成 Android RTMP 推流功能
待完成
2019-01-12 14:33:54
396
原创 Android 音视频开发(十四) :深入学习一些音视频领域的开源项目,如 webrtc,ffmpeg,ijkplayer,librtmp 等等
待完成
2019-01-12 14:32:12
705
原创 Android 音视频开发(十一) :学习 OpenGL,了解如何实现视频的剪裁、旋转、水印、滤镜,并学习 OpenGL 高级特性,如:VBO,VAO,FBO 等等
待完成
2019-01-11 15:43:15
833
原创 Android 音视频开发(六) : OpenGL ES API,学习纹理绘制,能够使用 OpenGL 显示一张图片
纹理纹理是物体表面的一幅或几幅二维图形,也是纹理贴图。原理纹理映射的坐标系,纹理映射坐标系和顶点着色器的坐标系不一样顶点坐标系:纹理坐标系:纹理坐标用浮点数来表示,范围一般从0.0到1.0,左上角坐标为(0.0,0.0),右上角坐标为(1.0,0.0),左下角坐标为(0.0,1.0),右下角坐标为(1.0,1.0),具体如下:显示图片主要是修改顶点着色器和片元着...
2019-01-11 15:33:02
632
1
原创 Android 音视频开发(五) : OpenGL ES API,了解 OpenGL 开发的基本流程,使用 OpenGL 绘制一个三角形,正方形,圆
1.OpenGL ES简介OpenGL Es学习,首先要了解Android的基本架构,如下图:在Android的第三层的Libraries里面就有OpenGL ES库。OpenGL ES是一个跨平台的图形API,给3D图形处理硬件指定了一个标准的软件接口。2.OpenGL ES在Android的使用Android提供了两个类:GLSufaceView和GLSurfaceVi...
2019-01-11 15:32:40
576
原创 Android 音视频开发(四) : MediaExtractor 和 MediaMuxer API,知道如何解析和封装 mp4 文件
一、MediaExtractor API介绍MediaExtractor的作用是把音频和视频的数据进行分离。主要API介绍:setDataSource(String path):即可以设置本地文件又可以设置网络文件 getTrackCount():得到源文件通道数 getTrackFormat(int index):获取指定(index)的通道格式 getSampleTime(...
2019-01-11 15:32:12
789
原创 Android 音视频开发(三) : 使用 Camera API 进行视频的采集,分别使用 SurfaceView、TextureView 来预览 Camera 数据,取到 NV21 的数据回调
一、预览 Camera 数据做过Android开发的人一般都知道,有两种方法能够做到这一点:SurfaceView、TextureView。下面是使用SurfaceView预览数据的方式:public class CameraTextureViewActivity extends AppCompatActivity implements SurfaceHolder.Callback ...
2019-01-11 15:31:38
984
原创 Android 音视频开发(二) : 音频 采集和播放
android录制音频有三种方式:系统自带的应用;通过MediaRecorder来进行音频的录制;AudioRecord录制音频。1:音频格式比较WAV格式:是PCM格式,文件大,听起来清晰。AAC格式:相对于mp3,AAC格式的音质更好,文件更小;有损压缩;API=16才会支持播放AMR格式:压缩比较大,但相对其他的压缩格式质量比较差,多用于人声,和通话录音。总结比较:2...
2019-01-11 15:25:54
1148
原创 Android 音视频开发(一) : 通过三种方式绘制图片
实践任务一:绘制一张图片。首先选定显示图片的控件,一般用ImageView,还有SurefaceView和自定义View1:ImageView这个是就是android自带的显示图片控件,有三种图片的来源。iv_show.setImageDrawable();//传入的是Drawableiv_show.setImageResource();//传入图片资源idiv_show.set...
2019-01-09 14:37:39
574
原创 学习音视频开发
最近公司开发音视频项目,用到了很多关于音视频的开发技术。总之,我都很难下手。上网查了有一篇很好的的音视频开发任务列表。我准备按照任务列表去实践所有的任务。1::Android 音视频开发(一) : 通过三种方式绘制图片2:Android 音视频开发(二) : 音频 采集和播放3:Android音视频开发 (三):使用 Camera API 进行视频的采集,分别使用 SurfaceVi...
2019-01-09 10:27:51
1014
原创 Android中蓝牙数据和Socket数据发送 ---------二进制、十进制、十六进制串、byte数组、字符串、ASCII之间的相互转化
/** * byte数组转成字符串 */ public String btye2Str(byte[] data) { String str = new String(data); return str; }//byte转HEXpublic static String byteToHex(byte b) { Str...
2018-12-26 16:51:41
2374
转载 如何获取媒体库中所有音频文件信息,并在文件增删后及时更新媒体库
转载请注明出处:http://blog.youkuaiyun.com/zhaokaiqiang1992今天一打开博客,发现一位朋友给我发了一封私信,请教下面的问题,所以特写此文章,为其解惑。从这位朋友的提问中,我们需要了解下面的这些问题,才能给他很好的解答:(1)如何获取手机里所有歌曲的信息?(2)在歌曲文件发生改变,比如增删操作之后,如何及时的更新媒体库,从而获取到最新的歌曲...
2018-12-17 17:16:13
1508
转载 zxing扫描二维码和识别图片二维码及其优化策略
二维码介绍Android中用于二维码相关的库比较少,并且大多数已经不再维护(具体可见https://android-arsenal.com/tag/81)。其中最常用的是zxing和zbar。zxing项目是谷歌推出的用来识别多种格式条形码的开源项目,项目地址为https://github.com/zxing/zxing,zxing有多个人在维护,覆盖主流编程语言,也是目前还在维护的较受欢...
2018-11-27 16:51:42
1764
转载 Android标题栏、状态栏图标文字颜色及背景动态变化
android中沉浸式状态栏的文章已经满大街了,可是在实现某些效果时,还是得各种搜索,测试一通后,最后还常常满足不了要求,即使好不容易在一部手机上满足了需求,放在另外一手机上,发现效果还各种不适配。今天把自己这几天学到的关于沉浸式状态栏知识进行总结下。问题比如我想实现以下效果: 同一个Activity需要动态变换标题栏和状态栏文字字体色值,该如何实现? 一个Activity...
2018-11-13 08:55:22
1549
原创 获取本地的IP地址
/** * 得到有线网关的IP地址 * * @return */private String getLocalIp() { try { // 获取本地设备的所有网络接口 Enumeration<NetworkInterface> enumerationNi = NetworkInterface .ge...
2018-11-01 11:46:45
705
转载 挺好的Android 技能图谱学习路线
Java基础 Java Object类方法 HashMap原理,Hash冲突,并发集合,线程安全集合及实现原理 HashMap 和 HashTable 区别 HashCode 作用,如何重载hashCode方法 ArrayList与LinkList区别与联系 GC机制 Java反射机制,Java代理模式 J...
2018-10-31 09:25:47
293
转载 java/android 对列表进行首字母排序和过滤相同字符串
List<String> topicNames = new ArrayList<>(new HashSet<>(topicName));if (!topicNames.isEmpty()) { //不为空 Collections.sort(topicNames, new Comparator<String>() { ...
2018-10-25 16:49:15
866
转载 Android HashMap循环遍历方式及其性能对比
1. Map的四种遍历方式下面只是简单介绍各种遍历示例(以HashMap为例),各自优劣会在本文后面进行分析给出结论。(1) for each map.entrySet()Map<String, String> map = new HashMap<String, String>();for (Entry<String, String> entry ...
2018-10-18 18:22:06
1157
转载 不用root查看手机的数据库和sharedPreferences数据
方式一:stetho没错,就是stetho,这个facebook出品的一款在线调试的东西;stetho的官网:http://facebook.github.io/stetho/使用stetho方式:第一步:在android studio中的app的build.gradle中引入:compile 'com.facebook.stetho:stetho:1.4.2'第二步:...
2018-10-18 14:04:10
576
转载 new thread的弊端及java四种线程池的使用
1.执行异步任务new thread(new Runnable(){@overridepublic void run(){//TODO }}).start();new thread的弊端:a.每次new thread新建对象性能差。b.线程缺乏统一管理,可能无限制新建线程,相互之间竞争,及可能占用跟多系统资源导致死机或oom。c.缺乏跟多功能,如定时执行、定...
2018-10-12 15:01:43
842
原创 解决Android Studio 鼠标悬停文档显示fetching documentation的问题
我们在学习一个新的类库或者一个新的API时,肯定想查看它的文档说明来快速的了解和使用它,那么在Android Studio中如何快速的查看API的信息呢?如何解决API文档显示fetching documentation的问题呢?下面就一步步的来解决这个问题一、我们所遇到的问题,如图所示二:解决方法 1:如果上面的弹框没有出现的话,修改一下设置。如图或者 ...
2018-09-20 18:14:51
291
转载 视频大小与帧的计算
帧数简单地说,帧数就是在1秒钟时间里传输的图片的帧数,也可以理解为图形处理器每秒钟能够刷新几次,通常用fps(Frames Per Second)表示。计算机中的信息都是二进制的0和1来表示,其中每一个0或1被称作一个位,用小写b表示,即bit(位);大写B表示byte,即字节,一个字节=八个位,即1B=8b;前面的大写K表示千的意思,即千个位(Kb)或千个字节(KB)。表示文件的大小单位,一...
2018-09-12 20:25:32
8071
1
转载 Android中详细的Bitmap
Bitmap位图简介位图文件(Bitmap),扩展名可以是.bmp或者.dib。位图是Windows标准格式图形文件,它将图像定义为由点(像素)组成,每个点可以由多种色彩表示,包括2、4、8、16、24和32位色彩。位图文件是非压缩格式的,需要占用较大存储空间。例如,一幅1920X1080分辨率的32位图片,其所占存储字节数为:1920×1080×32/(8*1024)=8100KB...
2018-09-04 09:48:10
1162
转载 android6.0、7.0、8.0新特性总结之开发应用时加以考虑的一些主要变更。
android6.0参考一:简书Android 6.0 新特性详解参考二:关于Android6.0以上系统的权限问题参考三:值得你关注的Android6.0上的重要变化(一)参考四:值得你关注的Android6.0上的重要变化(二)参考五:Android从1.0到 6.0各版本的差别参考六:Android历史版本 版本号对照 版本分布(截止到2017.11)参考七:An...
2018-08-28 09:04:45
980
转载 Android 目前最稳定和高效的UI适配方案
Android系统发布十多年以来,关于Android的UI的适配一直是开发环节中最重要的问题,但是我看到还是有很多小伙伴对Android适配方案不了解。刚好,近期准备对糗事百科Android客户端设计一套UI尺寸适配方案,可以和小伙伴们详细的聊一聊这个问题。Android适配最核心的问题有两个,其一,就是适配的效率,即把设计图转化为App界面的过程是否高效,其二如何保证实现UI界面在不同尺寸和...
2018-08-25 20:45:20
508
转载 彻底搞懂Android文件存储---内部存储,外部存储以及各种存储路径解惑
前言:对于任何一个应用来说,无论是PC端应用还是Android应用,存储肯定是必不可少的。对于很多做Android开发的同学来说,可能认为文件存储很简单,调用一些诸如getFilesDir,getExternalStorageDirectory方法行了,但是虽然说它们会调用相应的方法来实现简单的数据存储。但是他们未必就搞懂了他的数据到底存在了哪里,以及他的数据是否存对了地方,或者是否做好了版本...
2018-08-22 14:37:38
1938
精通ANDROID网络开发
2018-05-05
Java虚拟机(第二版)
2018-05-05
Java和Android开发学习指南++第2版
2018-05-05
Head First设计模式(中文版)
2018-05-05
App研发录—架构设计,Crash分析和竞品技术分析
2018-05-05
Android源码设计模式解析与实战
2018-05-05
Android群英传_完整高清版
2018-05-05
Android开发进阶从小工到专家
2018-05-05
Android高级进阶
2018-05-05
Android编程权威指南中文第1,2,3版
2018-05-05
Android+Studio实战快速高效地构建Android应用
2018-05-05
[代码整洁之道].(美)马丁.扫描版
2018-05-05
[Android框架揭秘].金泰延等.扫描版
2018-05-05
解决eclipse无NDK选项设置问题
2018-04-26
Android编程权威指南2
2016-12-31
Android编程权威指南
2016-12-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人