安卓进阶
文章平均质量分 93
程序猫King
安卓,小程序开发
展开
-
安卓JNI从0到1入门教程(三)
前面两篇博客介绍了jni相关内容,以及怎么在Android中简单使用,demo比较简单。这次来讲讲复杂一点的java和C/C++的互相调用。下面我们将要实现的功能是将Java对象传递给C++,然后用C++的对象接收值,最后把C++对象的值回传给Java层。原创 2023-07-13 14:35:50 · 611 阅读 · 0 评论 -
安卓JNI从0到1入门教程(二)
打开File-Settings-Tools-External Tools,添加新的工具,命名为ndk-build(随意命名),Program配置选择你的ndk所在的目录下的ndk-build.cmd,这个通常在你的AndroidStudio的安装目录下的ndk目录,Working directory填写项目的jni目录。控制台切换到jni目录下,也就是包含Android.mk和Application.mk的目录,执行ndk-build命令,成功后可以在libs文件夹下找到。原创 2023-07-10 16:24:01 · 535 阅读 · 0 评论 -
安卓JNI从0到1入门教程(一)
JNI(Java Native Interface)是Java编程语言提供的一种编程框架和技术,用于在Java应用程序中调用Native代码(通常是用C/C++编写的)以实现底层功能和与操作系统、硬件交互。JNI允许开发者编写用C/C++等本地语言编写的代码,然后通过JNI接口与Java代码进行交互。例如常见的音视频处理,图像处理,地图等等都会用到JNI。原创 2023-07-04 17:55:20 · 596 阅读 · 0 评论 -
Android音视频开发(三)TextureView
简介TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。与SurfaceView的区别SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。TextureView不会创建单独的窗口,而是充当常规View。此特点允许对TextureView进行移动,转换,设置动画等操作。例如,可以设置透明度。TextureV...原创 2020-03-16 10:04:58 · 1046 阅读 · 0 评论 -
Android音视频开发(二)SurfaceView
简介官方API文档介绍:SurfaceView是View的子类,它内嵌了一个专门用于绘制的Surface,你可以控制这个Surface的格式和尺寸,Surfaceview控制这个Surface的绘制位置。surface是纵深排序(Z-ordered)的,这表明它总在自己所在窗口的后面。SurfaceView提供了一个可见区域,只有在这个可见区域内的surface内容才可见。surface的排版...原创 2020-03-12 10:02:28 · 899 阅读 · 0 评论 -
Android音视频开发(一)音视频基础知识
前言最近工作方面没有太多事,所以难得有些空闲时间,针对当前音视频app的流行,为了不让自己淘汰,提升自己的专业能力,于是决定学习音视频开发相关知识,然而自己这方面却是一个小白,所以希望通过博客的形式记录下自己一步一步学习的过程,也希望能给这方面的新手一些借鉴。学习计划1.了解音视频的基础知识2.了解SurfaceView,TextureView的实现和使用3.Android平台...原创 2020-03-10 14:14:33 · 3845 阅读 · 2 评论 -
安卓架构组件实战——ViewModel+LiveData
在谷歌官方提供的安卓架构组件中,有ViewModel、LiveData、Lifecycle、DataBinding等,他们共同组成了一个完整的MVVM架构,实现了视图与业务逻辑分离,并且提供友好的生命周期管理。本文不会涉及到这些组件的原理解析,百度能找到一堆的我就不重复造轮子了,直接上干货教你如何使用。在使用这些组件之前,我们先来了解下MVVM:一、MVVMMVVM即Model(数据...原创 2019-11-29 17:19:54 · 829 阅读 · 0 评论 -
安卓架构组件实战——Lifecycle
注:本文涉及代码请看:项目源码Lifecycle是谷歌推出的一个架构组件,用于感知组件生命周期,并赋予了非组件对象感知生命周期的能力Lifecycle组件用来响应另一个组件的生命周期状态变化,例如Activity和Fragment,可以帮助非生命周期组件跟Activity、Fragment或Service的生命周期关联在一起,从而在不同生命周期内执行相应操作。其他说明请参考谷歌官网文档Li...原创 2019-11-28 11:22:19 · 374 阅读 · 0 评论 -
使用Kotlin+MVP+AndroidX搭建安卓项目框架
最近深入学习了下kotlin,发现还是挺不错的,特别是其中的协程,改变了以往我对安卓开发使用线程的习惯,这东西用起来方便,省去了使用java而产生的各种回调和主子线程通讯的麻烦,当然如果你习惯了Java,要转kotlin并使用协程改造你的项目,成本还是挺大的。谷歌正在用kotlin逐步取代Java,同时也在用androidx替代androidsupport包,而MVP也是这两年非常流行的设计模式...原创 2019-11-27 15:27:26 · 2524 阅读 · 0 评论 -
Android开发性能优化总结(二)
接上一篇《Android开发性能优化总结(一)》一、安卓UI性能检测与优化UI是安卓应用程序与用户打交道的最直接途径,UI设计的好不好,直接影响到用户的体验,如果没有达到他们心目中的自然流畅细节,用户要是能够感觉出来,少则影响心情,多则卸载应用;所以一个应用的UI显示性能问题就不得不被开发人员重视。1.UI卡顿常见原因:在UI线程中做了耗时操作,导致UI线程卡顿; 布局La...原创 2016-04-24 17:06:02 · 9017 阅读 · 0 评论 -
安卓应用程序框架研究(一):Activity组件的启动过程
Activity是安卓四大基本组件之一,从应用程序的角度出发,Activity可以分为两种:根Activity和子Activity。根Activity以桌面图标形式显示在应用程序启动器中,它的启动就代表了一个应用程序的启动。子Activity由根Activity或者其他子Activity启动,它们有可能与启动它们的Activity运行在同一个进程中,也有可能运行在不同的进程中,这取决于它们的配置和原创 2016-03-24 20:42:16 · 1010 阅读 · 0 评论 -
LeakCanary检测安卓内存泄漏
我们知道,在安卓应用程序运行过程中,偶尔会出现程序异常退出的情况,这一般是内存泄漏(OOM)的问题。 内存泄漏一般的排查步骤: 1.通过统计平台了解OOM情况 2.重现问题 3.在发生内存泄漏时Dump内存 4.在内存分析工具中反复查看,找出原本该被回收的对象 5.计算此对象到GC roots的最短强引用路径 6.确定并修复问题 因此,我们将需要内存泄漏检测分析工具。 在安卓开发中原创 2016-03-30 17:48:56 · 1408 阅读 · 0 评论