先简单说下需求,发一条WB包含多种类型,例如图片.视频.文字等,发送工作不能阻塞UI,工作队列易于扩展,方便优化. 几个重要的类: JobManager:统一管理Job列表,包括job的添加.启动.终止等等: Job:具体工作类的基类,一个Job对应多个Operatoin,除了维护每个Operation,还管理着自己的各种状态: Operation<Result>:该类实现了RunnableFuture和Callable,是真正执行操作任务的基类,为了易于扩展,将返回类型设计为泛型.Opera…
转自: http://www.infoq.com/cn/articles/wechat-android-app-architecture 微信Android客户端架构演进之路 作者 赵原 发布于 2015年12月31日 | 注意:GTLC全球技术领导力峰会帮助深具远见卓识的技术人审时度势,提升领导力!4 讨论 分享到:微博微信FacebookTwitter有道云笔记邮件分享    已保存     我的阅读清单   去年7月,笔者在InfoQ举办的ArchSummit深圳2014的架构师峰会上,分…
这是一个典型的Android应用在从小到大的成长过程中的“踩坑”与“填坑”的历史.互联网的变化速度如此之快,1年的时间里,可以发生翻天覆地的变化.今天在这里,重新和大家回顾微信客户端架构的演进过程,以及其背后的开发团队.流程的变化与思考. 拓荒 微信1.0 for Android的测试版本于2011年1月发布.这是微信Android客户端的第一个版本,软件架构采用早期标准的Android系统应用设计. [图1] 第一个版本是两个人用了一个多月的时间开发出来的,其中一个还是刚刚毕业没多久的实习生.…
一 : 架构与程序 软件架构是一种思维方式,而程序只是实现思维方式的一种手段,代码固然重要,但是若没有整体的思维架构,一切程序都如水中浮萍. 二 : 框架如何设计 暂时抛开Android Framework框架不谈,我们回想一下JavaWeb的核心思想mvc架构.what?这又是什么东西?好吧,不知道mvc架构的百度一下,只能帮你这些了....... mvc主要是模型.视图.控制器.模型层以Entity,视图层jsp,控制层Action为主的三层架构模型,实现业务分离,以及代码解耦.外层通过Ap…
摘要: 本文将介绍支付宝 Android 容器化框架设计的基本思路. 1. 前言 由本章节开始,我们将从支付宝客户端的架构设计方案入手,细分拆解客户端在“容器化框架设计”.“网络优化”.“性能启动优化”.“自动化日志收集”.“RPC 组件设计”.“移动应用监控.诊断.定位”等具体实现,带领大家进一步了解支付宝在客户端架构上的迭代与优化历程. 本节将介绍支付宝 Android 容器化框架设计的基本思路. 1.1 开发背景 随着 Android 应用程序所能实现的功能越来越强大和复杂,随之而来的是:…
申明:MobileIMSDK 目前为个人维护的原创开源工程,现陆续整理了一些资料,希望对需要的人有用.如需与作者交流,见文章底签名处,互相学习. MobileIMSDK开源工程的代码托管地址请进入 Git@OSC:点击进入 MobileIMSDK的Android客户端SDK文档:点击进入 学习交流 讨论学习和资料区:点此进入 推荐 移动端即时通讯交流: 215891622 推荐 bug/建议发送至:jb2011@163.com [写在前面] MobileIMSDK的Android客户端Demo工…
2020-02-15 21:25:42 ### android客户端客户向服务器发送json字符串或者以参数请求的方式发送数据 其中又分为post请求和get请求 1.activity.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:a…
Android Sensor 架构深入剖析 作者:倪键树,华清远见嵌入式学院讲师. 1.Android sensor架构 Android4.0系统内置对传感器的支持达13种,它们分别是:加速度传感器 (accelerometer).磁力传感器(magnetic field).方向传感器(orientation).陀螺仪(gyroscope).环境光照传感器(light).压力传感器(pressure).温度传感器(temperature)和距离传感器(proximity)等. Android实现…
本文由爱奇艺技术团队原创分享,原题<爱奇艺Android客户端启动优化与分析>. 1.引言 互联网领域里有个八秒定律,如果网页打开时间超过8秒,便会有超过70%的用户放弃等待,对Android APP而言,要求更加严格,如果系统无响应时间超过5秒,便会出现ANR,APP可能会被强制关闭,因此,启动时间作为一个重要的性能指标,关系着用户的第一体验. 爱奇艺安卓APP非常重视启动速度的优化,本文将从启动过程.启动时间测量.启动优化.以及后续监控等方面分享我们在启动优化方面积累的经验.   相关文章…
北航MOOC系统Android客户端 NABC (N) Need 需求 MOOC的全名是Massive Open Online Course,被称作大型开放式网络课程.2012年,美国的顶尖大学陆续设立网络学习平台,在网上提供免费课程,Coursera.Udacity.edX三大课程提供商的兴起,给更多学生提供了系统学习的可能.2013年2月,新加坡国立大学与美国公司Coursera合作,加入大型开放式网络课程平台.新加坡国立大学是第一所与Coursera达成合作协议的新加坡大学,它2014年率…
一.引言 移动互联网技术改变了旅游的世界,这个领域过去沉重的信息分销成本被大大降低.用户与服务供应商之间.用户与用户之间的沟通路径逐渐打通,沟通的场景也在不断扩展.这促使所有的移动应用开发者都要从用户视角出发,更好地满足用户需求. 论坛时代的马蜂窝,用户之间的沟通形式比较单一,主要为单纯的回帖回复等.为了以较小的成本快速满足用户需求,当时采用的是非实时性消息的方案来实现用户之间的消息传递. 随着行业和公司的发展,马蜂窝确立了「内容+交易」的独特商业模式.在用户规模不断增长及业务形态发生变化的背景…
在上一篇文章<基于mina框架的GPS设备与服务器之间的交互>中,提到之前一直使用superwebsocket框架做为IIS和APP通信的媒介,经常出现无法通信的问题,必须一天几次的手动回收程序池,甚至重起服务器,通常周末接到一个陌生电话,就是说客户端无法登录了,说多了都是泪.痛定思痛,开始找解决方案,其实superwebsocket以IIS做为宿主,就注定他可能不稳定了,当然,它部署非常方便:为了稳定,我开始尝试使用SuperSocket,当然,这也注定了后期部署会麻烦些:生活就是这样哈,鱼…
本文由魅族科技有限公司资深Android开发工程师degao(嵌入式企鹅圈原创团队成员)撰写,是degao在嵌入式企鹅圈发表的第一篇原创文章,毫无保留地总结分享其在领导魅族多个项目开发中的Android客户端性能优化经验,极具实践价值! 众所周知,一个好的产品,除了功能强大,好的性能也必不可少.有调查显示,近90%的受访者会因为APP性能差而卸载,性能也是造成APP用户沮丧的头号原因. 那Android客户端性能的指标都有哪些?如何发现和定位客户端的性能问题?本文结合多个项目的开发实践,给出了要…
我做过两三个android客户端应用的整体设计和部分的编码,这里仅仅谈一下设计方面的故事(此乃原创2015:11:02). 做客户端设计,首先要考虑应用所在的环境,包括三方面:1 要设计的apk是在一个低内存,低运行速率,多应用共同运行(现在很多应用都在后台一直存活,不死鸟)的环境中:2 要设计的apk需要调用系统其它的数据或功能接口:3 apk置身于整体手机的运行环境中,必然手机的各种状态的变化,会对apk的运行造成影响,例如开网断网,亮屏灭屏等. 从1来考虑,必须要在设计之初,从数据流考虑a…
Android系统架构说明介绍 Android系统架构和一些普遍的操作系统差不多,都是采用了分层的架构,从他们之间的架构图看,Android系统架构分为四个层,从高层到低层分别是应用程序层.应用程序框架层.系统运行库层和linux核心层.以下分别介绍android系统架构四个分层. 1.应用程序层 Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等.所有的应用程序都是使用JAVA语言编写的. 2.应用程序框架层…
http://www.cnblogs.com/forlina/archive/2011/06/29/2093332.html 引言 通过前面两篇: Android 开发之旅:环境搭建及HelloWorld Android 开发之旅:HelloWorld项目的目录结构 我 们对android有了个大致的了解,知道如何搭建android的环境及简单地写一个HelloWorld程序,而且知道一个android项目包括哪 些文件夹和文件及相应的作用.本篇将站在顶级的高度——架构,来看android.我开…
「架构都是演变出来的,没有最好的架构,只有最合适的架构!」最近,滴滴出行平台产品中心 iOS 技术负责人李贤辉接受了 infoQ 的采访,阐述了滴滴的 iOS 客户端架构模式与演变过程.李贤辉也是移动开发精英俱乐部中的一员,所以本期重点推荐了这篇文章. 更多精彩,请看这里,内容系国内 ITOM 管理平台 OneAPM 整理: 滴滴出行 iOS 客户端架构演进之路 成长为 iOS 大 V 的秘密 React Native开源项目-iOS新浪微博客户端 可靠 UDP 传输 精华阅读第8期|Alpha…
做了个Android项目,需要接入新浪微博,实现时也顺带着研究了下腾讯微博和人人网的Android客户端接入,本文就跟大家分享下三者的Android客户端接入方法. 一.实例概述 说白了,接入微博就是让你的应用程序可以调用新浪微博,腾讯微博和人人网的api,实现微博发送,分享给好友等等的功能啦.当然也可以实现让你的客户端使用微博账号进行登录.我们这篇文章要讲的就是访问这些社交平台提供的api的时候比较关键的一步,获取调用api接口的token,token可以理解为我们的客户端程序与社交平台api…
Android display架构分析(一) http://blog.csdn.net/BonderWu/archive/2010/08/12/5805961.aspx http://hi.baidu.com/leowenj/blog/item/429c2dd6ac1480c851da4b95.html 高通7系列硬件架构分析 如上图,高通7系列 Display的硬件部分主要由下面几个部分组成: A.MDP 高通MSM7200A内部模块,主要负责显示数据的转换和部分图像处理功能理,如YUV转RG…
http://www.cnblogs.com/virusswb/archive/2011/08/05/2128941.html 最近不是太忙,花了一些时间学习android的应用开发.经过两个星期的学习,学习的同时还写了很多的demo示例,可以从基本控件及基本动画效果等示例demo集合大放送,持续更新下载. 从这个星期开始,准备拿新浪微博开放平台做个实践,开发一个功能简单的android客户端,会尽可能的完善功能. 今天的内容 上图是这个客户端的主要界面,目前只是获取了前20条数据,还可以通过r…
原文出处: Facebook   译文出处:penkzhou   欢迎分享原创到伯乐头条 作为世界上最大的社交网络,Facebook的Android客户端面临着各种各样的使用环境(地理环境.Android设备以及移动网络等环境的差异).也正是这个原因,为了检测自家Android客户端在发展中国家的性能表现,Android的产品经理.工程师在2013年的时候去了一趟非洲.当时我看到这个新闻的时候觉得有点怪异,后来看到他们这篇博客才有点理解他们这样做的原因了. 这群Facebook的工程师来到非洲之…
目录(?)[-] Kernel Space Display架构介绍 函数和数据结构介绍 函数和数据结构介绍 函数和数据结构介绍 数据流分析 初始化过程分析 User Space display接口 Kernel display接口 典型应用flow分析 介绍 Surface manager(surface flinger)简介 架构分析 流程分析 根据前面的介绍,surfaceflinger作为一个server process,上层的应用程序(作为client)通过Binder方式与其进行通信.…
(来源于ThinkPHP) Android是Google公司开发的基于Linux平台的开源手机操作系统,它包括操作系统.中间件.用户界面和应用程序,而且不存在任何以往阻碍移 动产业创新的专利权障碍,并由Google公司于2007年11月5日正式发布.同时,Google公司组建了一个开放手机联盟,这个联盟由中国移动.摩 托罗拉.高通.宏达电和T-Mobile等在内的全球30多家技术和无线应用的领军企业组成,Google通过与运营商.设备制造商.开发商和其他有关各 方结成深层次的合作伙伴关系,希望借…
前言 技术博客终于可以恢复正常的更新速度了,原因是我编写的进阶书籍的初稿已经完成,窃以为它将会是Android应用书籍中最有深度的一本,可以说是<Android开发艺术探索>的姊妹篇.在这本书的最后一章我会分析Android底层源码,但是毕竟是一本Android应用开发的书,对于底层源码阅读也只能带大家入个门.因此,在博客中我会新开一个“系统源码解析”的系列,该系列的开篇就是本篇文章.1.Android系统架构 Android系统架构分为五层,从上到下依次是应用层.应用框架层.系统运行库层.硬…
Android Navigation 架构组件入门教程 版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请表明出处:https://www.cnblogs.com/cavalier-/p/10429936.html 前言 Navigation组件是AndroidStudio3.2版本更新带来的新组件,其特点是在一个Activity中使用多个Fragment处理平滑用户操作,且可以统一进场,退场,弹出,隐藏动画,可视化处理Action,支持深层链接(不在同一个Activity时可以弹出跳…
1.请看某个著名的it公司一则招聘信息的其中一条要求:“熟悉android系统架构及相关技术,1年以上实际android平台开发经验:”,里面非常明确的说道要求熟练android系统架构,这从某种程度上说明了对android体系架构的理解的重要性. linux kernel:负责硬件的驱动程序.网络.电源.系统安全以及内存管理等功能. libraries和android runtime:libraries:即c/c++函数库部分,大多数都是开放源代码的函数库,例如webkit,该函数库负责and…
Android官方架构组件介绍之LifeCycle 下面是官方提供的Android App开发的架构图: 从上图可以看到一些关键字:ViewModel,LiveData,Room等.其实看了上面视频的会发现Google官方Android架构组件一共包括以下几个: LifeCycle : 与Activity和Fragment的生命周期有关 LiveData :异步可订阅数据,也是生命周期感知 ViewModel :视图数据持有模型,也是生命周期感知 Room :SQLite抽象层,用于简化SQLi…
本文采取128位AES-CBC模式加密和解密 1.首先对服务端安装mcrypt: sudo apt-get install php5-mcrypt php5-dev sudo php5enmod mcrypt sudo service apache2 restart 2.PHP服务端AES加密类代码 class MCrypt { private $iv = 'fedcba9876543210'; //初始化向量iv public $key;//AES加密的密钥key //将密钥$key传进本类…
Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架.当前发行的 MINA 版本支持基于 Java NIO 技术的 TCP/UDP 应用程序开发.串口通讯程序(只在最新的预览版中提供),MINA 所支持的功能也在进一步的扩展中.目前正在使用 MINA 的软件包括有:Apache Directory Project.Asyn…
我的Android进阶之旅------>Android实现用Android手机控制PC端的关机和重启的功能(一)PC服务器端(地址:http://blog.csdn.net/ouyang_peng/article/details/47004617) 我的Android进阶之旅------>Android实现用Android手机控制PC端的关机和重启的功能(二)Android客户端功能展示(地址:http://blog.csdn.net/ouyang_peng/article/details/4…