java – Android应用程序架构 – 基于事件或分层
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – Android应用程序架构 – 基于事件或分层,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1825字,纯文字阅读大概需要3分钟。
内容图文
![java – Android应用程序架构 – 基于事件或分层](/upload/InfoBanner/zyjiaocheng/805/656b1999062244bcb9d5e0e1ba11bd67.jpg)
我正在构建一个用于托管应用程序的SDK.该SDK将集成在具有大量用户的应用程序中.
我们开始使用分层架构构建它 – UI,管理器与模型和网络层交互.总共三层.
UI正在通过回调获取更新.
旁注:我是团队中的一员,用很多用户构建了一些Android应用程序,所有这些都使用了相同的分层架构.
这些应用程序拥有活跃的用户,直到现在还有很好的反馈.
我们有测试版,似乎一切都按预期工作.
一周前,我们的一名团队成员前来表示他认为我们需要改变
我们的架构以事件驱动为基础.我们将在SDK中具有处理所有侦听器的静态事件句柄,并且将从其他组件触发调度.
我认为这有点冒险,我认为在多线程环境中以这种方式处理具有大量依赖性和服务的大型SDK会很困难.
另外,因为我们正在构建SDK,所以我们希望将我们的主类从主机应用程序中隔离出来,我认为这几乎是不可能的.
我的问题:
>您认为正确的方法是什么,分层架构是好的,我们需要坚持下去,或者基于事件是首选的?
>您认为这是一个适合需要尽可能高效的SDK的解决方案吗?
>您认为这对于多线程环境来说是一个很好的解决方案吗?
感谢任何反馈,谢谢.
我读过的一些文章:
architecting-android-the-clean-way
architectural-patterns-for-mobile-application-development
event-driven-programming-for-android
解决方法:
Android本身基于基于事件的模型. Android应用程序使用一个名为looper线程的特殊线程,一次从一个事件队列中选择事件,并通过执行其处理程序顺序处理它们.可能存在使用传统同步操作在彼此和looper线程之间通信的附加常规线程. looper线程的主要作用是不断检查其事件队列,一次选择并处理一个事件.
据我所知,Android使用基于事件的模型的主要动机是它必须处理很多事件(触摸屏,点击,传感器,网络,内部和外部事件等)和基于事件的模型选择有意义.
如果您主要关注的是并发性和多任务处理,那么事件驱动和反应模型恰好是多线程(或一般的并发)的更好选择.但分层结构也不错,实际上我觉得它更好.
在一天结束时,这取决于工作的性质.如果您认为您的SDK正在证明什么,类似于Android的工作(处理大型事件),那么去基于事件的模型,否则分层结构更好.
如果并发(多线程)是您的主要问题,并且您想要利用多核架构并且您的作业是CPU密集型的,那么您应该看到其他架构.
内容总结
以上是互联网集市为您收集整理的java – Android应用程序架构 – 基于事件或分层全部内容,希望文章能够帮你解决java – Android应用程序架构 – 基于事件或分层所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。