排序
Android 14 快速适配要点
随着 Google I/O 2023 发布的 Android beta2 ,预计 Android 14 将在2023年第三季度发布,目前看整体需要适配的内容已经趋向稳定,那就根据官方文档简单做个适配要点总结吧。 如何做到最优雅的...
音视频大合集,先从零开始万事开头难
前言 周六按时发了工资。好好休息了两天,出去消费了一波美滋滋??? 顺带有粉丝找我问有没有openGL ES比较深入的学习内容,和Recyclerview的.抽空弄一波。 前几天零零散散的更新了一些音视频的片...
Android性能优化系列篇(三):崩溃优化+卡顿优化
持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第5天,点击查看活动详情 前言 汇总了一下众多大佬的性能优化文章,知识点,主要包含: UI优化/启动优化/崩溃优化/卡顿优化...
flutter lottie animation progress bar 美丽多彩生动的动画进度条
flutter lottie animation progress bar 美丽多彩生动的动画进度条 flutter支持使用lottie动画,有了lottie,我们也可以在flutter中实现很多炫酷的动画效果,这次为我们就来学习使用lottie动...
写给Android工程师的 Github CI 快速指北
我正在参加「掘金·启航计划」 背景 关于 CI/CD ,在2023年的今天,基本所有技术团队或多或少都会使用,其很大程度上减轻了我们的冗余重复工作,从而简化我们的工作流程。 不过对于大多数客户端...
plt hook 原理与实践
前言 在 Android 应用开中, 针对于 native 的 hook 方案主要分为两种: PLT Hook: 基于地址无关代码(PIC, Position-independent Code)原理设计的 hook 方案, 可用于 hook 对外部函数的调用, 代表...
太库辣!Netflix Android 客户端开源库大公开
我正在参加「掘金·启航计划」 由于前段时间看完了《不拘一格 网飞的自由与责任工作法》这本书,对 Netlifx 这家公司产生了巨大的好感。今天突然好奇,这家酷酷的硅谷公司所做的 Android 客户端...
Android — 使用Media3播放视频
在App开发中偶尔会需要播放视频,JetPack Media3是目前官方主推的视频播放库,使用ExoPlayer作为默认播放器,让开发人员可以轻松的实现播放视频和音频功能。本文简单介绍下如何使用Media3库播放...
音视频开发——FFmpeg学习教程
一、前言 音视频开发学习中,FFmpeg的学习为什么这么重要? 因为FFmpeg 是一个开源软件,采用 LGPL 或 GPL 许可证(需要注意这里的开源协议,它具有『传染性』,会要求它的使用方也开源)。我们...
一文理解贝塞尔曲线
贝塞尔曲线的来源 贝塞尔曲线最早是由贝塞尔在1962年提出来的,目的是获取汽车的外形。贝塞尔曲线看上去非常复杂,其实想法非常简单,(如下图1所示)就是先用折线先绘制出大致的轮廓,然后用曲...
Android 14 又来了?别扶!抬起我来吧!
大家好,好久不见,从去年底写完年终总结之后就再也没有更新过文章,之前最多也就间隔一两个月时间,但这回间隔时间确实有点长,基本快半年了!也没有别的原因,就是工作太忙了。。。好了,废话...
【菜狗教程】Protobuf.01 – 基本用法和特性介绍
菜狗教程 —— Protobuf 篇 01 官方文档:protobuf.dev/ Protobuf 的概念和用途 Protobuf 的含义是一件比较混乱的事,在日常开发的沟通里当我们提到 Protobuf 时,很可能还要根据前后语境判断具...
Binder – 3、注册Service的过程
一、前言 初始化完servicemanager之后,那么我们就可以往里面注册我们的Service了,对一些系统Service来说,它们提供了普通的Android应用赖以实现的接口,所以需要在系统启动之后就注册到servic...
ExoPlayer客户端解密m3u8音频/视频
项目中有一个需求,播放加密的视频和音频,想到的方案有服务端鉴权和客户端本地解密两种思路。服务端可通过短时效的Token来鉴权,避免视频/音频被盗播的问题,考虑到后端的人力紧张,后来选择了...
鸿蒙ArkUI如何开发跨平台应用?
一、前言 提到跨平台,要先理解什么是“平台”,这里的平台,就是指应用程序的运行环境,例如操作系统,或者是Web浏览器,具体的像HarmonyOS、Android、iOS、或者浏览器,都可以叫做平台。 跨平...
Flutter桌面应用如何进行多分辨率适配
通过此篇文章,你将了解到: Flutter windows和Android桌面应用屏幕适配的解决方案; 屏幕适配的相关知识和原理; flutter_screenutil的实现原理和缺陷。 ⚠️本文为稀土掘金技术社区首发签约文...
【面试必备】LruCache 和 LinkedHashMap 以及算法实现
LruCache 保存对有限数量值的强引用的缓存。 每次访问一个值时,它都会移动到队列的头部。 当一个值被添加到一个完整的缓存中时,该队列末尾的值将被逐出并且可能有资格进行垃圾回收。 Least Re...
如何生成TPK切片包和mmpk离线地图包
准备工作 91卫图助手 (用于下载底图) ArcGIS Pro Arcmap 开始 1. 下载底图 使用91卫图助手, 选择一个区域, 我们这里选择四川省自贡市富顺县 双击富顺县区域弹窗下载对话框, 影像级别选最高 左下...
关于LiveData全面详解(附事件总线)
前言:缤纷色彩闪出的美丽 是因它没有 分开每种色彩 前言 MVVM 架构模式中,ViewModel 是不会持有宿主的信息,业务逻辑在 ViewModels 层中完成,而不是在 Activities 或 Fragments 中。LiveData...
Shadow插件化框架使用
说明 最近项目想要做模块动态升级,所以了解了最近还在维护的插件化框架Shadow. shadow框架的官网的顶置issue,里面有非常多的关于框架的解析的文章。想要了解此框架,这个必看。 这里还是截取...