移动周刊第 201 期:Android 组件化探索与思考、深入剖析 iOS 性能优化

前言

近期,Google 推出了 Developer Preview 开发者预览版 4 做为 Android O 正式版本之前的最后一个预览版本,这意味着开发者测试阶段即将宣告结束。开发者预览 4 是 Android O 的候选版本,它包括最终的系统行为、最新的错误修复、优化、以及开发者预览版 3 已经可用的最新 API(API level 26)。然而,与往常一样,Android O 的正式版将于何时发布仍然是个谜,但随着最后开发者预览版 4 的更新相信 Android O 的发布指日可待了。

技术文章

Android

58 同城 Android 端 HTTPS 实践之旅

本文将介绍 58 同城 App 在 HTTPS 改造方面的一些经验,并对 Android 端 HTTPS 实践中遇到的问题进行总结。

开源整理:三个优秀的 Android 图表开源控件

本文是关于 Android 开源图表控件的整理,筛选条件基于 Github 上的 start、watch、fork 数其中有两项超过100;同时还需要作者最近半年仍在维护更新;使用文档基本齐全三个条件。

Android 组件化探索与思考

开发中,我习惯性会把一个模块的功能放在一个包下,便于查找,但烦于耦合性太高,后期维护太费劲,因此对项目进行组件化拆分势在必行。组件化好处:便于开发,团队成员只关注自己的开发的小模块,降低耦合性,后期维护方便等。相当于先有很多小组件,各自开发,最后组装,成一个 App。

详解 Weex 页面的渲染过程

这篇文章介绍了一个 Weex 页面的渲染过程,涉及很多框架内部的细节。

关于 Vue App 开发的一些思考

笔者在六个月的时间中完成了三个前端 SPA 项目,从 Vue 1 & Vuex 1 到 Vue 2 & Vuex 2 都有使用。从最先开始的四个模块、八个功能,到最后多模块嵌套、数十个功能,项目的难度越来越大,复杂度越来越高,坑也越踩越多。本文回顾了这三个项目的开发历程,重新整理了项目代码,分享其中一些坑及思考。

[译] Android 架构:Part 1 —— 那些年我们犯过的错

本系列文章旨在概述搭建 Android 应用程序架构时可能会碰到的问题。因为无论实现 Android App 架构的过程多么困难,结果证明这些一定是完成每一个好的 App 的基础。

iOS

实现 60fps 的网易云音乐首页

最近笔者在研究如何更好的开发 TableView,并编写了一个 Model 驱动的小框架 - MDTable。为了去验证框架的可用性,本文选择了网易云音乐的首页来作为 Demo,语言是 Swift 3。

深入剖析 iOS 性能优化

本文从时间复杂度和用 GCD 来做优化等角度解析 iOS 性能优化,分享预防性能问题的技巧。

iOS 开发同学的 ARM64 汇编入门

在定位某些 crash 问题的时候,有时候遇到一些问题很诡异。有时候挂在了系统库里面。这个时候定位 crash 问题往往是比较头疼的。那么这个时候学会一些汇编知识,利用汇编调试技巧进行调试可能会起到意想不到的效果。

React Native 源码导读(零) – 创建/运行/调试

RN 这个项目已经是庞然大物,打开 github 项目主页,根目录下文件和文件夹就多达五六十个,看起来一脸懵逼,不知道哪些是源码,在看源码之前先理理 RN 最终用到哪些代码,项目是怎样创建,怎样跑起来的。本文皆以 iOS 端为例。

NSMutableArray 使用中忽视的问题

NSMutableArray 提供的 API 能解决绝大部分的需求,但是在实际 iOS 开发中,在某些场景下,需要考虑线程安全 或 弱对象引用 或 删除元素这三个问题。

VR/AR

9 个你可能感兴趣的 ARKit 虚拟现实小项目

六月初的 WWDC 上,Apple 发布了增强现实开发组件 ARKit。笔者整理了一些这一个多月来发现的有趣的 ARKit 小项目和 Demo,或许能够为各位读者提供一些灵感。

2017 下半年 VR 行业面对的七个主要问题

2017 年我们刚刚过了一半,但这半年对于 VR 行业来说简直是变幻莫测的半年。谈到 VR,我们都知道这个行业存在着很多问题。本文总结基于 VR 存在的问题分为七个主要板块来进行探讨。

真正的 VR 大考是什么:Oculus 首席科学家谈人机交互的未来

近日,Oculus 公司首席科学家 Michael Abrash 出席了第三届环球大挑战峰会(Global Grand Challenges Summit)。这场大会赞助者众多,其中就包括美国国家工程学院,英国皇家工程学院和中国工程院。在此次大会上,Abrash 和与会者分享了他对 VR 的一些深层次看法。

周年的 Daydream:谷歌的 VR 梦还是白日梦?

日前,在母公司 Alphabet 的财报电话会议上,谷歌 CEO 桑达尔-皮查伊(Sundar Pichai)称,到 2017 年底,将会有 11 款手机支持谷歌 Daydream 虚拟现实软件。凭心而论,如果不是此次谷歌在财报电话会议上提及 Daydream,相信业内多数人会和我们一样,早已淡化了 Daydream 的存在。而事实又是如何呢?

视频教程推荐

App 内置 IM 系统——从入门到千万级在线

本课程抽丝剥茧,搭建一套最简 IM 系统,先让开发者了解如何实现这类系统,然后会不断的对系统进行扩展,并详述要支撑千万级别的用户,系统架构要经过哪些方面的演变,在每个阶段需要具体考量哪些因素。

秒学 Swift 语言

本课程讲师 Sundy 带你进入一个学习计算机语言方法的全新世界 ,深入的掌握 Swift 语言 ,并且了解 Swift 的前世今生 ,深入浅出,引导你的思考和学习方法。

HTML 5 移动开发从入门到精通

本课程讲述了 HTML 5 移动开发的各种技术,通过本课程的学习,用户可以掌握 HTML 5 移动开发的技巧。

Part 1:基础语言-Cocos2d-x 手机游戏开发必备 C++ 语言基础

本套 Cocos2d-x 视频教程采用的编程语言为 C++语言,本教程为专门针对想学习 Cocos 游戏开发,而没有语言基础的同学而制作的一门 C++ 基础课程。

联系我们

第一时间掌握最新移动开发相关信息和技术,请关注 优快云 移动开发公众微信号(ID: mobilehub)。

Android组件化开发实践 一、首先,我们弄清楚什么是组件化开发?为什么要使用组件化开发? 在Android项目开发中,我们都是根据不同的块或者业务关系,在主App下分很多不同的package,把需要的第三方库依赖配置好,就开始开发。 但是随着项目发展到一定阶段,随着版本迭代,业务功能和参与开发人员的增多,代码会越来越臃肿,耦合越来越严重,开发和维护难度也越来越大,牵一发而动全身。明明只为了添加一个很小的功能,却需要更改很多... 阅读详情

相关推荐

AI——修改UI的SKILL

本技能用于RYB_GCP_SETTLEMENT_V2医疗智能柜项目Android端UI美化,基于XML与Material设计规范,严格遵循“只改UI、不碰逻辑”原则。统一使用lib_ui中定义的设计令牌(如主色#467DE4、圆角12dp卡片区等),逐模块改造布局样式,确保字号(20–36sp)、资源引用及视图ID不变。每次仅改一两个模块,先输出方案待确认,再编译验证(需JDK 11)。已完第一批,第二批待确认,其余模块按相同规范推进。

wy313622821的博客 113

部门总监对Android组件化的最佳实战总结 ,覆盖整个互联网公司(附源码)

背景 组件化作为Android客户端技术的一个重要分支,近年来一直是业界积极探索和实践的方向。每个大厂内部的各个Android开发团队也在尝试和实践不同的组件化方案,并且在组件化通信框架上也有很多高质量的产出。本文主要介绍我们的组件化方案,希望对从事Android组件化开发的同学能有所启发。 为什么要组件化 近年来,为什么这么多团队要进行组件化实践呢?组件化究竟能给我们的工程、代码带来什么好处?我们认为组件化能够带来两个最大的好处: 1.提高组件复用性 可能有些人会觉得,提高复用性很简单,直接把需要复用的代

Android 开发架构 895

CS5212芯片实战:手把手教你设计DP转VGA转换电路(附完整原理图)

本文详细介绍了CS5212芯片在DP转VGA转换电路设计中的实战应用,包括芯片架构解析、核心电路设计要点、PCB布局与电磁兼容设计、调试技巧及进阶应用开发。通过完整的原理图和实用设计指南,帮助工程师快速掌握高可靠转换器的设计方法,特别适合需要国产化替代方案的场景。

weixin_30576827的博客 393

Android组件化开发之一:为什么要进行组件化开发

组件化开发系列文章 1. Android组件化开发之一:为什么要进行组件化开发 2. Android组件化开发之二:组件化架构 3. Android组件化开发之三:组件化开发手册 4. Android组件化开发之四:组件化填坑之旅 5. Android组件化开发之五:组件化开发实战Demo 现状 随着APP业务的不断增加,版本不断迭代,APP越来越臃肿,随之而来的问题也逐步呈现出来; ...

尼古拉斯的AI笔记 3492

从ROS2到ROS1:Lightning-LM激光SLAM模块的移植实践与核心代码解析

本文详细解析了将高性能激光SLAM算法Lightning-LM从ROS2移植到ROS1的完整实践过程。针对ROS1与ROS2在节点初始化、话题通信、参数服务器及TF发布等核心API的差异,文章提供了loc_system和slam模块的核心代码改造示例,并给出了适配catkin的CMakeLists.txt与package.xml配置方案,帮助开发者在现有ROS1生态中高效集成先进的SLAM模块。

weixin_29224529的博客 172

【记录】游戏体验报告怎么写(自我成长篇)

2019年3月更新: 这个倒是不用推翻,我个人虽然写的东西还是有一些偏差的,但是“表哥”说的倒是没毛病的,这篇主要是为了记录用,具体的干货也有,都在图片里,请自行提取 =====18年初原答案 作为一个游戏策划新人,游戏分析可能抓不到点子上,试着总结记录一下游戏体验报告分析的成长(因为水平不同,视野可能也不一样,也许之后几年回头看这些东西都是小儿科或者是错误的,所以只写出当下的想...

eat_human的博客 6万+

iOS组件化方案对比

背景 随着公司业务的不断发展,项目的功能越来越复杂,各个业务代码耦合也越来越多,代码量也是急剧增加,传统的MVC或者MVVM架构已经无法高效的管理工程代码,因此需要用一种技术来更好地管理工程,而组件化(也可称为模块化)是一种能够解决代码耦合的技术。项目经过组件化的拆分,不仅可以解决代码耦合的问题,还可以增强代码的复用性,工程的易管理性等等。 市场上的方案: 方案一、url-block 这是...

中国架构师的博客 6872

Zynq 【SDK裸机开发之PS】——DDR的内存分配使用详解

Zynq如果跑操作系统的话,内存管理的工作都会交给系统来操作,但是如果是裸机的话,则需要自己对DDR3的内存进行管理。

shizhibuyi1234的博客 7380

android ios 对比 组件_iOS组件化方案对比

iOS组件化方案对比发布时间:2018-09-28 17:55,浏览次数:626, 标签:iOS背景随着公司业务的不断发展,项目的功能越来越复杂,各个业务代码耦合也越来越多,代码量也是急剧增加,传统的MVC或者MVVM架构已经无法高效的管理工程代码,因此需要用一种技术来更好地管理工程,而组件化(也可称为模块化)是一种能够解决代码耦合的技术。项目经过组件化的拆分,不仅可以解决代码耦合的问题,还可以增...

weixin_39672680的博客 369

半导体AMHS天车振动控制:从0.5G到超低振动的技术演进与工程实战

在先进晶圆厂中,自动化物料搬运系统(AMHS)的天车如同空中出租车,承担着晶圆盒(FOUP)在洁净室各工艺区间的转运任务。然而,当天车加减速、过弯或抓取时产生的机械振动通过轨道梁和建筑结构传递至光刻机等敏感设备,便可能直接威胁套刻精度与良率。传统被动减振方案依靠橡胶垫和弹簧,在0.5G指标时代曾行之有效,但在EUV光刻和先进制程面前已力不从心。主动振动控制技术通过传感器、控制器与作动器构成的闭环系统,在轨道吊点和机械手端实时输出反向力抵消振动,配合磁悬浮走行、轻量化结构及调度系统的路径优化,将振动从0.5G

weixin_29188043的博客 345

Claude AI实战指南:从注册到精通,突破手机验证的终极解决方案

本文提供了一份详尽的Claude AI实战指南,重点解决了国内用户注册过程中的手机号验证难题,并分享了使用技巧。文章详细介绍了如何通过虚拟手机号服务等方案完成注册,并深入解析了Opus、Sonnet、Haiku三大模型的特点与选择策略,帮助用户从注册到精通,高效利用这一安全、健谈的AI助手进行内容创作、编程开发与学习研究。

weixin_29092031的博客 1233

Android组件化方案

随着APP版本不断的迭代,新功能的不断增加,业务也会变的越来越复杂,APP业务模块的数量有可能还会继续增加,而且每个模块的代码也变的越来越多,这样发展下去单一工程下的APP架构势必会影响开发效率,增加项目的维护成本,每个工程师都要熟悉如此之多的代码,将很难进行多人协作开发,而且Android项目在编译代码的时候电脑会非常卡,又因为单一工程下代码耦合严重,每修改一处代码后都要重新编译打包测试,导致非常耗时。

不学习傻了吧 13万+

WorkVisual传输程序报错_发现一个内部错误

WorkVisual传输程序报错_发现一个内部错误

qq_16401025的博客 2458

Android组件化

Android组件化本文由5个模块组成: 1.组件化与模块化区别 2.组件化家构图 3.各组件之间的跳转 4.各组件之间的通讯 5.组件化优点 6.Android Studio上面实现组件化1.组件化与模块化区别组件化就是基于可重用的目的,将一个大的软件系统按照分离关注点的形式,拆分成多个独立的组件,已较少耦合。2.组件化家构图 说明:Library是各组件需要依赖的一些公用库,Router(负责

黑白键的奔腾 1282

K210视觉项目上位机避坑指南:解决C#解析ESP8266 TCP图像流的乱码、卡顿与连接中断

本文详细解析了K210与ESP8266在视觉项目中的上位机开发问题,重点解决TCP图像流解析中的乱码、卡顿与连接中断问题。通过自定义协议、JPEG流重组、TCP连接优化等实战技巧,提升系统稳定性和性能,适用于嵌入式视觉开发者和C#上位机程序员。

weixin_28730131的博客 402

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Android热更新技术的研究与实现Sophix

所以阿里爸爸一直在进步着呢,知道技术存在问题就要去解决问题,这不,从Dexposed-->AndFix-->HotFix-->Sophix,技术是越来越成熟了。     Android热更新技术的研究与实现 ------必备引言------ 之前的比赛中第一篇博文介绍了kotlin语言:, 第二篇是正在重构为kotlin的项目kibo,主要侧重于使用框架的讲解: 本...

code_dream_wq的博客 1066

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Android组件化经验分享

Android组件化经验分享 最近由于项目需求,app A需要使用另一个app B的全部功能,即B要作为A的一个模块集成到A里面去。App B可以被打成aar包,已sdk的形式被app A使用,但是这就要对appB的结构进行修改,而且集成后aar包有问题的话修改也比较麻烦。所以这里使用了一个Android的组件化方式来实现。通过组件化方式,可以在做极少改动B的源码的情况下,把B集成到A里面去,而...

海纳百川Android的博客 1095

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

iOS组件化方案的几种实现

最近研究了一下项目的组件化,把casa、bang、limboy的有关组件化的博客看了一遍,学到了不少东西,对目前业界的组件化方案有了一定的了解。这些高质量的博客大致讨论了组件化的三种方案:url-block、protocol-class(和url-controller类似)、target-action,以及应用这三种组件化方案的时机、步骤、利弊等等。

KelvinFlying的专栏 5807

Android组件化设计与实现结合代码详解并总结优缺点

ARouter简介 组件化其实就是一个主组件连接着其他多个组件组合成一个APP实现高类聚低耦合开发。 项目比较大时使用组件化可根据功能划分模块独立开发减少对原有代码改动量可避免改动影响其他功能,各个组件独立开发可以减少代码冲突量,项目比较大运行项目时经常出现重新编译时比较耗时短的三到五分钟跑一次项目,使用组件化独立运行可以大大减少开发等待时间。 组件化开发推荐目前比较流行的ARouter框架,ARouter是由阿里开发团队开源的组件化框架,目前应用比较多,ARouter经过多年广大开发者测验并改进已经

SunshineBoy的博客 1655

Hybrid App 移动端踩坑录:键盘、视口与阿拉伯语

Hybrid App 中软键盘遮挡问题根源在于布局视口与视觉视口不一致。针对输入框被盖,自研 KeyboardObserver 通过轮询 visualViewport.height、innerHeight、scrollY 及 getBoundingClientRect() 四个信号交叉验证键盘状态,结合 iOS 延迟滚动、Android 快速响应的分策略,实现精准定位。针对底部按钮被盖,用 CSS 变量 --pageHeight 动态绑定 window.innerHeight,替代 100vh,并配合 ca

山雀的博客 243

自建 RustDesk 服务端后,做一个“装完就能连“的客户端

目前市面上的远程工具(如向日葵、toDesk等)免费版基本上都卡的不行,而且收费版好像也会卡。如果有云服务的话,可以基于 RustDesk 的 hbbs / hbbr 自己部署一套,不过会碰到一个问题:每台电脑装完客户端,都得手动去设置里填三样东西——ID 服务器、中继服务器、Key。填错一个就连不上,还得远程指导同事操作。这篇记录两种解决办法,以及云端编译的完整流程。内容基于 RustDesk 1.5.3 的源码。

风声的专栏 188

成为全栈·基础补充·Nginx 入门:反向代理与静态托管

Nginx 可以托管前端静态文件,也可以作为反向代理把 HTTPS 请求转给内部 API。本文从请求路径讲起,解释反向代理、静态目录、代理头、路径拼接、可信 IP、Cookie、上传体积、超时和缓存边界,并提供配置结构示例和逐层排查顺序。配置片段需要结合实际证书、路由和运行平台验证,不能直接复制为生产方案。

FungLeo's Blog 302

Android Visualizer 实战:把声音画出来

是系统提供的音频效果(AudioEffect)之一。它挂在音频链路上,,把数据回吐给你——画波形、画频谱、做响度表。

Android的专栏 297

Android 开发入门实践(十三):用 Intent、UiState 和 Reducer 理解 MVI 的状态更新

本文记录第141—145课对MVI架构的入门实践,通过“返回列表”功能逐步构建意图(NewsIntent)、状态(NewsUiState)与状态转换(reduce)机制。基于单向数据流,用户操作生成意图,ViewModel通过Reducer根据旧状态计算新状态,并通过StateFlow更新Compose界面。代码实现清晰分离关注点,强化了对状态管理、事件驱动与数据流的理解。

Easyhood的博客 332

Android Span 使用详解【全面】

本文系统讲解Android富文本核心机制Span,涵盖三大容器(SpannedString、SpannableString、SpannableStringBuilder)与核心API,分类解析字符级、段落级及交互类Span,结合实战示例展示关键词高亮、可点击文本、图文混排等应用,并提供自定义Span(如圆角标签、渐变文字)方法。重点剖析性能优化与四大常见坑:段落Span失效、点击无反应、flags误用、ellipsize冲突,强调合理选择容器、正确设置flags与movementMethod,确保富文本高效

indeedes的博客 271

VS Code 开发 iOS 工程,KXApp 与 Xcode 分工,双工具协同实操

想用 VS Code 写 iOS 又担心脱离 Xcode、搞乱团队工程?本文讲清 KXApp 和 Xcode 的并用关系:它是 Mac 上的 VS Code 扩展、必须装 Xcode 并调用它构建签名,两边共用编译结果(一边编过另一边不用重编)、共用同一份工程文件不迁移,补全用的 buildServer.json 可 gitignore 不影响同事,签名沿用 Xcode 登录的账户,Cmd+B/R/. 快捷键一致,Interface Builder 和 Instruments 仍回 Xcode。

2501_91592143的博客 79
上一篇: 六大理由告诉你为什么需要关注蓝牙 mesh
下一篇: 进行 Kotlin 实战开发前,你应了解的那些技术点
「已注销」
博客等级 码龄10年 304粉丝 171原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值