LifeCycle详解 LifeCycle的由来 解耦是为了解决传统开发某块臃肿,以达到代码量平衡、优雅、易扩展。由于Android大部分开发需要感知组件的生命周期,在对应生命周期中做对应的工作,故原始的做法就是在Activity、Fragment、Service等生命周期回调中增加相应的处理代码,这样导致Activity等组件十分臃肿、难以做扩展。LifeCycle的出现就是在外面实现对这些组件生命周期的感知能力,减 移动开发 2025年07月06日 142 点赞 0 评论 16227 浏览
节流 为什么要限制事件的频繁触发,以及如何做限制: 1.debounce 防抖 2.throttle 节流 今天重点讲讲节流的实现。 节流 节流的原理很简单: 如果你持续触发事件,每隔一段时间,只执行一次事件。 根据首次是否执行以及结束后是否执行,效果有所不同,实现的方式也有所不同。 我们用 leading 代表首次是否执行,trailing 代表结束后是否再执行一次。 关于节流的实现,有两种主流的实现 移动开发 2025年05月15日 79 点赞 0 评论 16222 浏览
Android-推荐一个沉浸式状态栏开源库(ImmersionBar ) 图片来源网络,入侵必删 在日常的Android开发中,我们肯定遇到沉浸式的开发需求。在大多数项目当中,都会使用ImmersionBar开源库适配。这篇博客分享一下ImmersionBar相关的知识,希望对看文章的小伙伴有所帮助。 ImmersionBar依赖 mavenCentral版本: // 基础依赖包,必须要依赖 implementation 'com.geyifeng.imme 移动开发 2025年04月25日 179 点赞 0 评论 16213 浏览
YYSegmentViewController 分页控制器的介绍 github地址: 一、页面介绍 YYSegmentConfig:配置文件 YYSegmentViewController:控制器 YYContainerScrollView:控制器view底部的ScrollView YYControllerPageView:控制器view的容器 YYSeg 移动开发 2025年06月13日 46 点赞 0 评论 16195 浏览
Android App封装 —— ViewBinding 项目搭建经历记录 Android App封装 ——架构(MVI + kotlin + Flow) Android App封装 —— ViewBinding Android App封装 —— DI框架 Hilt?Koin? 一、背景 在前面的Github wanandroid项目中可以看到,我获取控件对象还是用的findviewbyId button = findViewById(R.id.bu 移动开发 2025年08月15日 79 点赞 0 评论 16156 浏览
Android studio设置国内镜像代理(HTTP Proxy)教程详解 前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂,风趣幽默",感觉非常有意思,忍不住分享一下给大家。 👉点击跳转到教程 1、Android Studio是在谷歌的服务器上,初次安装Android Studio时下载SDK可能会失败,出现下载不了Android SDK的情况࿰ 移动开发 2025年07月26日 167 点赞 0 评论 16138 浏览
悬浮窗 一、原理 1、添加独立的View 我们在APP中想不依赖Activity中的布局添加View时,可以通过WindowManager.addView()的方式,创建一个window,并显示添加的View。 2、Window可分为三类 应用window:一般位于最底层,对应一个Activity; 子window:不能单独存在,需要附属在父window上,如Dialog; 系统window:一般位于最顶 移动开发 2025年05月15日 194 点赞 0 评论 16136 浏览
Android 广播使用详解 和你一起终身学习,这里是程序员Android 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容: 一、Broadcast概述二、Broadcast的注册三、Broadcast的注册类型四、静态注册开机广播的实现五、动态监听亮灭屏幕广播实现六、广播的发送方法七、参考文献 一、Broadcast概述 在了解广播之前 移动开发 2025年07月26日 176 点赞 0 评论 16102 浏览
基于Telegram二次开发 --- MTProtoKit 架构 MTProto 是 Telegram 的核心协议,旨在支持多种传输协议;当前版本的 Telegram-iOS 仅支持 TCP 传输;HTTP 传输已于 2018 年删除;VoIP 模块 libtgvoip 支持 UDP 和 TCP 传输。 MTProtoKit 源码仓库 MTProto 官方文档 Telegram-iOS 在 Network 内置了用于冷启动的种子地址: let seedAdd 移动开发 2025年04月26日 38 点赞 0 评论 16090 浏览
面向对象的细胞实现 书名:代码本色:用编程模拟自然系统 作者:Daniel Shiffman 译者:周晗彬 ISBN:978-7-115-36947-5 第7章目录 7.8 面向对象的细胞实现 在后面的工作中,我们将为CA系统添加一些扩展特性,其中很多都涉及细胞的多个属性,比如:让细胞记住最近的10个状态;在CA系统中加入运动和物理学特性,让细胞能在屏幕中移动,在每一帧里动态地改变它的邻居。请问,这些特性该如 移动开发 2025年08月05日 146 点赞 0 评论 16072 浏览