- 你的测试用例中,是否包含App前后台切换App前后台切换是我们平时常用的一个操作,比如:按手机的home键将应用置于后台、直接按手机电源键关闭屏幕或者通过最近打开的应用列表切换应用等,由此,我们可以得出结论:当app置于前台时,它的页面对我们是可见的;当app置于后台时,它的页面对我们是不可见的。 无论对于Android还是IOS,app前后台切换的流程都很长,因为牵扯到应用生命周期的管理... 你的测试用例中,是否包含App前后台切换App前后台切换是我们平时常用的一个操作,比如:按手机的home键将应用置于后台、直接按手机电源键关闭屏幕或者通过最近打开的应用列表切换应用等,由此,我们可以得出结论:当app置于前台时,它的页面对我们是可见的;当app置于后台时,它的页面对我们是不可见的。 无论对于Android还是IOS,app前后台切换的流程都很长,因为牵扯到应用生命周期的管理...
- Android 本地数据与日志安全实践移动应用会接触账户标识、业务记录、缓存文件和调试日志。安全问题往往不是某个算法选择错误,而是数据在整个生命周期中被复制到过多位置:请求参数被完整记录、敏感字段进入普通偏好存储、临时文件长期不清理,或 WebView 暴露了超出需要的能力。 一、先做数据分类安全设计应从数据含义开始。可以按风险分为:公开数据:公开资讯、通用配置等。内部数据:业务开关、非公... Android 本地数据与日志安全实践移动应用会接触账户标识、业务记录、缓存文件和调试日志。安全问题往往不是某个算法选择错误,而是数据在整个生命周期中被复制到过多位置:请求参数被完整记录、敏感字段进入普通偏好存储、临时文件长期不清理,或 WebView 暴露了超出需要的能力。 一、先做数据分类安全设计应从数据含义开始。可以按风险分为:公开数据:公开资讯、通用配置等。内部数据:业务开关、非公...
- Android 自定义 View 的测量与绘制自定义 View 适合实现进度环、行情曲线、刻度盘等标准控件难以表达的视觉效果。它的难点不在于画出图形,而在于遵守测量协议、处理不同尺寸和密度、减少绘制阶段分配,并让状态变化以正确方式触发重绘。 一、明确 View 的职责自定义 View 应接收已经整理好的展示数据,只负责测量、绘制和局部交互。数据请求、业务计算和长期状态不应放在 View 内... Android 自定义 View 的测量与绘制自定义 View 适合实现进度环、行情曲线、刻度盘等标准控件难以表达的视觉效果。它的难点不在于画出图形,而在于遵守测量协议、处理不同尺寸和密度、减少绘制阶段分配,并让状态变化以正确方式触发重绘。 一、明确 View 的职责自定义 View 应接收已经整理好的展示数据,只负责测量、绘制和局部交互。数据请求、业务计算和长期状态不应放在 View 内...
- Android 触摸事件分发与滑动冲突处理轮播图嵌套列表、横向卡片放在纵向页面、可拖拽面板覆盖按钮时,都可能出现滑动冲突。很多问题源于对事件序列理解不完整:一次手势不是某个单独的移动事件,而是从按下开始、以抬起或取消结束的一组连续事件。 一、理解完整事件序列典型手势包含:ACTION_DOWN:手指首次接触屏幕。ACTION_MOVE:手指位置变化,可能出现多次。ACTION_UP:手指正... Android 触摸事件分发与滑动冲突处理轮播图嵌套列表、横向卡片放在纵向页面、可拖拽面板覆盖按钮时,都可能出现滑动冲突。很多问题源于对事件序列理解不完整:一次手势不是某个单独的移动事件,而是从按下开始、以抬起或取消结束的一组连续事件。 一、理解完整事件序列典型手势包含:ACTION_DOWN:手指首次接触屏幕。ACTION_MOVE:手指位置变化,可能出现多次。ACTION_UP:手指正...
- A Practical Guide to Android Custom ViewsFrom a blank View to a reusable, interactive component — everything you need to know to build your own custom views in Android. Table of ContentsWhy Custom... A Practical Guide to Android Custom ViewsFrom a blank View to a reusable, interactive component — everything you need to know to build your own custom views in Android. Table of ContentsWhy Custom...
- A Practical Guide to Android Custom ViewsFrom a blank View to a reusable, interactive component — everything you need to know to build your own custom views in Android. Table of ContentsWhy Custom... A Practical Guide to Android Custom ViewsFrom a blank View to a reusable, interactive component — everything you need to know to build your own custom views in Android. Table of ContentsWhy Custom...
- A Practical Guide to Android Custom ViewsFrom a blank View to a reusable, interactive component — everything you need to know to build your own custom views in Android. Table of ContentsWhy Custom... A Practical Guide to Android Custom ViewsFrom a blank View to a reusable, interactive component — everything you need to know to build your own custom views in Android. Table of ContentsWhy Custom...
- 现在主流的手机操作系统有Android、iOS和HarmonyOS(鸿蒙系统),为了减少同时维护三种客户端的工作量,一般采用APP内嵌H5页面的形式。由于H5不能直接调用客户端的原生能力,比如相机、麦克风,以及读取设备信息,因此需要在APP与H5之间搭建一种双向通信的桥梁机制。一、JSBridge的开源框架JSBridge(JavaScript Bridge)就是这种H5混合App的双向通... 现在主流的手机操作系统有Android、iOS和HarmonyOS(鸿蒙系统),为了减少同时维护三种客户端的工作量,一般采用APP内嵌H5页面的形式。由于H5不能直接调用客户端的原生能力,比如相机、麦克风,以及读取设备信息,因此需要在APP与H5之间搭建一种双向通信的桥梁机制。一、JSBridge的开源框架JSBridge(JavaScript Bridge)就是这种H5混合App的双向通...
- Android 模块化架构与依赖边界随着业务增长,单一模块会逐渐出现编译缓慢、代码相互引用、资源命名冲突和改动影响范围过大的问题。模块化可以隔离业务边界,但模块数量越多并不代表架构越好。真正有价值的模块化,应让依赖方向清晰、公共接口稳定,并降低团队并行开发时的冲突。 一、先识别模块边界常见模块可以按职责划分:应用壳模块:负责进程入口、全局装配和最终打包。业务模块:围绕账户、交易、资讯等完整... Android 模块化架构与依赖边界随着业务增长,单一模块会逐渐出现编译缓慢、代码相互引用、资源命名冲突和改动影响范围过大的问题。模块化可以隔离业务边界,但模块数量越多并不代表架构越好。真正有价值的模块化,应让依赖方向清晰、公共接口稳定,并降低团队并行开发时的冲突。 一、先识别模块边界常见模块可以按职责划分:应用壳模块:负责进程入口、全局装配和最终打包。业务模块:围绕账户、交易、资讯等完整...
- Android WorkManager 后台任务设计上传日志、同步离线数据、清理缓存等任务往往不要求立即完成,但需要在应用离开前台甚至进程重启后继续执行。此类工作如果只放在普通协程或线程中,进程被回收后就会丢失。WorkManager 适合管理可延迟、需要保证最终执行的后台任务,但并不适合所有异步需求。 一、先判断任务是否适合 WorkManager适合的任务通常具备以下特征:可以延迟到系... Android WorkManager 后台任务设计上传日志、同步离线数据、清理缓存等任务往往不要求立即完成,但需要在应用离开前台甚至进程重启后继续执行。此类工作如果只放在普通协程或线程中,进程被回收后就会丢失。WorkManager 适合管理可延迟、需要保证最终执行的后台任务,但并不适合所有异步需求。 一、先判断任务是否适合 WorkManager适合的任务通常具备以下特征:可以延迟到系...
- Android Room 数据一致性与事务设计本地数据库不仅是接口数据的缓存,也常用于保存用户草稿、离线任务和关键业务快照。数据量增加后,常见问题包括多表更新只成功一半、查询越来越慢、数据库升级失败,以及界面观察到短暂的不一致状态。Room 提供了编译期校验和事务能力,但数据边界仍需要开发者根据业务设计。 一、从稳定的数据模型开始数据库实体应围绕持久化需求设计,不必与接口对象或界面模型完全... Android Room 数据一致性与事务设计本地数据库不仅是接口数据的缓存,也常用于保存用户草稿、离线任务和关键业务快照。数据量增加后,常见问题包括多表更新只成功一半、查询越来越慢、数据库升级失败,以及界面观察到短暂的不一致状态。Room 提供了编译期校验和事务能力,但数据边界仍需要开发者根据业务设计。 一、从稳定的数据模型开始数据库实体应围绕持久化需求设计,不必与接口对象或界面模型完全...
- Android 应用启动性能优化方法应用启动是用户对产品性能的第一印象。启动慢并不一定是首页代码复杂,更常见的原因是 Application 中同步初始化过多、首屏布局测量成本高、主线程磁盘读写,或者多个组件在进程创建时争抢资源。优化启动前,首先要区分启动类型并建立可重复测量方法。 一、区分冷启动、温启动和热启动冷启动需要创建进程、初始化运行环境、创建 Application 和首个页面,... Android 应用启动性能优化方法应用启动是用户对产品性能的第一印象。启动慢并不一定是首页代码复杂,更常见的原因是 Application 中同步初始化过多、首屏布局测量成本高、主线程磁盘读写,或者多个组件在进程创建时争抢资源。优化启动前,首先要区分启动类型并建立可重复测量方法。 一、区分冷启动、温启动和热启动冷启动需要创建进程、初始化运行环境、创建 Application 和首个页面,...
- 准备开发一个 App 时,Flutter 和 Kotlin 经常出现在技术选型清单里。一个强调跨平台和开发效率,一个与 Android 生态联系紧密。对于个人开发者和小团队,选哪条路线,会直接影响上线速度,也会影响后续维护的工作量。我的选型建议是:需要同时交付 Android 和 iOS、业务以常规页面为主,可以优先评估 Flutter;主要做 Android、深度依赖系统能力,可以优先考虑... 准备开发一个 App 时,Flutter 和 Kotlin 经常出现在技术选型清单里。一个强调跨平台和开发效率,一个与 Android 生态联系紧密。对于个人开发者和小团队,选哪条路线,会直接影响上线速度,也会影响后续维护的工作量。我的选型建议是:需要同时交付 Android 和 iOS、业务以常规页面为主,可以优先评估 Flutter;主要做 Android、深度依赖系统能力,可以优先考虑...
- Android Kotlin 协程中的异常处理与任务取消协程让异步代码更接近顺序写法,但“代码更短”不代表异常会自动得到正确处理。实际项目中,最常见的问题包括子任务失败导致整个作用域取消、取消异常被误当作普通错误、界面离开后任务仍在执行,以及并发请求之间缺少明确关系。 一、先理解结构化并发结构化并发要求协程存在清晰的父子关系。父协程结束时,子协程也应结束;普通子协程失败时,异常会向上传递并... Android Kotlin 协程中的异常处理与任务取消协程让异步代码更接近顺序写法,但“代码更短”不代表异常会自动得到正确处理。实际项目中,最常见的问题包括子任务失败导致整个作用域取消、取消异常被误当作普通错误、界面离开后任务仍在执行,以及并发请求之间缺少明确关系。 一、先理解结构化并发结构化并发要求协程存在清晰的父子关系。父协程结束时,子协程也应结束;普通子协程失败时,异常会向上传递并...
- Android 可适配的组合控件设计业务页面中经常重复出现“标题、说明、状态、操作按钮”这样的区域。如果每个页面分别复制布局,视觉调整和交互修复就需要改动多处。组合控件可以把结构、样式和行为封装起来,但要真正做到可复用,还需要处理尺寸适配、属性设计、状态恢复和生命周期等问题。 一、确定控件边界组合控件适合封装稳定且有明确语义的界面单元,例如设置项、空状态区域、带单位的数值展示。它不应该直接... Android 可适配的组合控件设计业务页面中经常重复出现“标题、说明、状态、操作按钮”这样的区域。如果每个页面分别复制布局,视觉调整和交互修复就需要改动多处。组合控件可以把结构、样式和行为封装起来,但要真正做到可复用,还需要处理尺寸适配、属性设计、状态恢复和生命周期等问题。 一、确定控件边界组合控件适合封装稳定且有明确语义的界面单元,例如设置项、空状态区域、带单位的数值展示。它不应该直接...
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签