搜索结果
查询Tags标签: android,共有 12551条记录-
Android gradle dependency tree change(依赖树变化)监控实现,sdk version 变化一目了然
@目录前言 基本原理 执行流程diff 报告 不同分支 merge 过来的 diff 报告 同个分支产生的 merge 报告 同个分支提交的 diff 报告具体实现原理 我们需要监控怎样的 Dendenpency 变化怎样获取 dependency Tree project.configurations 方式 ./gradlew dependencies AsciiD…
2024/1/17 14:32:52 人评论 次浏览 -
Android 蓝牙使用
原文地址: Android 蓝牙使用 - Stars-One的杂货小窝公司项目需求需要实现监听蓝牙耳机连接,且要获取蓝牙耳机电量功能,翻了不少官方文档,记录下技术调研代码注:本文没有研究蓝牙配对功能关于蓝牙权限适配 Android12以后,申请蓝牙权限需要申请一组,如新增的几个权限,需要一…
2024/1/9 1:02:18 人评论 次浏览 -
Kotlin委托属性(1)
在Kotlin中,委托属性(Delegated Properties)是一种强大的语言特性,允许你将属性的 getter 和 setter 方法的实现委托给其他对象。这使得你能够通过委托来重用代码、将属性的行为解耦,并实现一些通用的模式。下面是一些关键概念和用法:class Example {var property: …
2024/1/6 14:02:22 人评论 次浏览 -
详解RecyclerView的预布局
概述 RecyclerView 的预布局用于 Item 动画中,也叫做预测动画。其用于当 Item 项进行变化时执行的一次布局过程(如添加或删除 Item 项),使 ItemAnimator 体验更加友好。 考虑以下 Item 项删除场景,屏幕内的 RecyclerView 列表包含两个 Item 项:item1 和 item2。当删…
2023/10/7 5:02:56 人评论 次浏览 -
现代C++学习指南-具体类
类作为C++中重要的概念之一,有着众多的特性,也是最迷人的部分!类是一个加工厂,开发者使用C++提供的各种材料组装这个工厂,使得它可以生产出符合自己要求的数据,通过对工厂的改造,可以精细控制对象从出生到死亡的各种行为,真正达到我的代码我做主的境界。类 我们经…
2023/6/22 1:22:10 人评论 次浏览 -
现代C++学习指南-标准库
在[上一章](https://www.yuque.com/docs/share/adb5b1e4-f3c6-46fd-ba4b-4dabce9b4f2a?# 《现代C++学习指南-类型系统》)我们探讨了C++的类型系统,并提出了从低到高,又从高到低的学习思路,本文就是一篇从高到低的学习指南,希望能提供一种新的视角。什么是标准库 编程…
2023/6/20 1:53:10 人评论 次浏览 -
现代C++学习指南-类型系统
在前一篇,我们提供了一个方向性的指南,但是学什么,怎么学却没有详细展开。本篇将在前文的基础上,着重介绍下怎样学习C++的类型系统。写在前面 在进入类型系统之前,我们应该先达成一项共识——尽可能使用C++的现代语法。众所周知,出于兼容性的考虑,C++中很多语法都是…
2023/6/19 1:52:28 人评论 次浏览 -
现代C++学习指南-方向篇
C++是一门有着四十年历史的语言,先后经历过四次版本大升级(诞生、98、11、17(20),14算小升级)。每次升级都是很多问题和解决方案的取舍。了解这些历史,能更好地帮助我们理清语言的发展脉络。所以接下来我将借它的发展历程,谈一谈我对它的理解,最后给出我认为比较…
2023/6/18 14:22:10 人评论 次浏览 -
Android-NDK开发——基本概念
在Android开发中,有时候出于安全,性能,代码共用的考虑,需要使用C/C++编写的库。虽然在现代化工具链的支持下,这个工作的难度已经大大降低,但是毕竟万事开头难,初学者往往还是会遇到很多不可预测的问题。本篇就是基于此背景下写的一份简陋指南,希望能对刚开始编写C/…
2023/6/18 1:22:05 人评论 次浏览 -
CMake个人理解和使用
前言 CMake是一个构建工具,通过它可以很容易创建跨平台的项目。通常使用它构建项目要分两步,通过源代码生成工程文件,通过工程文件构建目标产物(可能是动态库,静态库,也可能是可执行程序)。使用CMake的一个主要优势是在多平台或者多人协作的项目中,开发人员可以根…
2023/6/17 14:22:49 人评论 次浏览 -
Kotlin协程-那些理不清乱不明的关系
Kotlin的协程自推出以来,受到了越来越多Android开发者的追捧。另一方面由于它庞大的API,也将相当一部分开发者拒之门外。本篇试图从协程的几个重要概念入手,在复杂API中还原出它本来的面目,以全新的角度带读者走进Kotlin协程世界。什么是协程 在很多有关协程的文章中,…
2023/6/15 18:22:42 人评论 次浏览 -
Handler机制实现原理总结
Handler一般用于线程间通信,如常用的子线程使用handler让主线程更新UI。那么这是怎么实现的呢? 我们先把这个大问题分解成多个小问题:post();postDelayed();sendMessage();sendEmptyMessage();等方法有什么不同? Handler为什么需要一个Looper,为什么它不能为空? Han…
2023/6/14 18:24:53 人评论 次浏览 -
沉思篇-剖析Jetpack的ViewModel
ViewModel做为架构组件的三元老之一,是实现MVVM的有力武器。ViewModel的设计目标 ViewModel的基本功能就是管理UI的数据。其实,从职责上来说,这又是对Activity和Fragment的一次功能拆分。以前存储在它们内部的数据,需要它们自己处理创建,更新,存储,恢复的所有过程,…
2023/6/14 1:22:54 人评论 次浏览 -
[Kotlin Tutorials 21] 协程的取消
协程的取消 本文讨论协程的取消, 以及实现时可能会碰到的几个问题.本文属于合辑: https://github.com/mengdd/KotlinTutorials 协程的取消 取消的意义: 避免资源浪费, 以及多余操作带来的问题. 基本特性:cancel scope的时候会cancel其中的所有child coroutines. 一旦取消一…
2023/6/8 1:52:07 人评论 次浏览 -
基于 prefetch 的 H5 离线包方案
前言 对于电商APP来讲,使用H5技术开发的页面占比很高。由于H5加载速度非常依赖网络环境,所以为了提高用户体验,针对H5加载速度的优化非常重要。离线包是最常用的优化技术,通过提前下载H5渲染需要的HTML/JS/CSS资源,加载时直接使用本地缓存资源避免额外的网络请求提高…
2023/6/6 14:22:19 人评论 次浏览