首页作者可乐
  • 使用鲜为人知的Kotlin语法和功能

    Kotlin的表达力和简洁的语法、现代特性以及与Java的无缝互操作性使其成为开发者的热门选择。在本文中,将探索一些Kotlin中鲜为人知的特性和语法细节。1.使用Map委托属性Kotlin支持委托属性,这种特性提供了一种自定义属性访问器行为的强大方法。常见的委托属性例子是lazy()函数,它是标准库的一部分。但还有一种不常见但非常有用...
  • 带你了解Android Jetpack库中的依赖注入框架:Hilt

    Hilt概述Hilt是Google推出的一种用于Android的依赖注入(DependencyInjection,DI)框架,构建于Dagger之上,旨在简化Android应用中的依赖注入过程。通过Hilt,你可以更轻松地管理和提供依赖,显著减少DI的样板代码,并提高应用的可测试性和可维护性。Hilt的主要概念1、Modules:用来定义如何提供实...
  • 安卓逆向——抓包

    写给公司的安卓逆向教程推荐抓包软件—reqablereqable软件官网地址:Reqable虽然fiddler更为经典并且免费,功能也更好用。但是在安卓抓包上还是比较推荐使用Reqable,因为reqable有一个巨大的优势——环境配置非常方便下载证书插件并推送至手机在左上角选项栏中找到证书,点击下拉列表中的安装证书到Android设...
  • Android经典面试题之Kotlin中 if 和 let的区别

    在Kotlin中,if和let虽然有时候用来处理相似的情景,但它们实际上是用于不同的场景并具有不同的性质。下面我们来详细对比一下这两者的区别:if语句if是一种控制结构,用于条件判断。它可以有一个或多个条件分支,并且可以返回值。if语句在Kotlin中类似于其他语言的if语句。示例:valnumber=10valresult=if...
  • 关于无人机上层控制的PID算法的思考

    一、前言背景介绍:PID虽然出现了很多年,但是目前工业界还是把PID作为主流的控制算法(尽管学术界有很多非常时尚的控制算法,包括鲁邦控制,神经网络控制等等),PID的算法在于其不需要对系统进行复杂的建模,就可以完成比较好的控制效果。PID算法的优势在于其非常简单,很多时候算法好不好取决于对参数的设置,所以很多时候,PID算法其实是一个体力活,主要精力都在...
  • 飞行控制PID算法——无人机飞控

    PID控制应该算是应用非常广泛的控制算法了。小到控制一个元件的温度,大到控制无人机的飞行姿态和飞行速度等等,都可以使用PID控制。这里我们从原理上来理解PID控制。PID(proportionintegrationdifferentiation)其实就是指比例,积分,微分控制。先把图片和公式摆出来,看不懂没关系。总的来说,当得到系统的输出后,将输出经...
  • Android中SurfaceView的双缓冲机制和普通View叠加问题解决办法

    心里种花,人生才不会荒芜,如果你也想一起成长,请点个关注吧。SurfaceView是Android平台上用于高效渲染图形的视图控件。它将内容绘制在一个独立的Surface上,可以直接由渲染线程访问,从而提高性能,尤其是在需要频繁刷新和更新的场景下,如视频播放、游戏和图形动画等。双缓冲机制双缓冲机制是SurfaceView实现流畅图像绘制的...
  • Android经典面试题之SurfaceView 和 TextureView有什么区别?

    SurfaceView和TextureView是Android应用开发中用于显示内容的两种常用视图,尤其是在需要呈现视频或其他图形内容时。理解它们的作用和区别对于在不同场景下选择合适的视图非常重要。SurfaceView作用:SurfaceView提供了一种将内容直接绘制到屏幕上的方式,主要用于高效显示频繁更新的内容,比如视频、游戏图形等。...
  • FFmpeg解码播放视频原理

    一概念FFmpeg是一个强大的多媒体处理工具,广泛应用于视频录制、转换和流媒体播放等领域。在本文中,我们将讨论如何使用FFmpeg库API来播放视频文件,详细介绍播放流程、API使用以及代码示例。二FFmpeg视频解码播放流程2.1、初始化FFmpeg库:包括注册所有的文件格式和编解码器。2.2、打开视频文件:打开视频文件并读取文件头信息获取流...
  • Android经典实战之Kotlin中多进程情况下判断应用是否处于前台或者后台

    在Android应用开发中,有时候需要在多进程情况下判断应用是否处于前台或者后台。这在各种场景中可能是有用的,比如为了在后台优化资源使用,或者处理前台与后台的不同逻辑。多进程下进行前后台判断的挑战在于,每个进程都有独立的生命周期,因此不能直接通过单一进程内的生命周期回调(如onResume(),onPause()等)来判断整个应用是否处于前台还是后...
友情链接