首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    关于广告

    一、如何学习Android android开发(这里不提platform和底层驱动)你需要对Java有个良好的基础,一般我们用Eclipse作为开发工具。对于过多的具体知识详细介绍我这里不展开,我只说我个人的学习方法和本人以为的好的步骤。 1.搭建环境:包括对Java和Eclipse及模拟器(有真机再好不过)的熟悉,对于android的tools和adb命令可以放到后面熟悉了解。 2.从helloworld开始:了解一个基本的android应用代码包含哪些,各部分做什么用。(这里只要先了解个大概就好) 3.activity、intent:了解activity是什么及其生命周期,intent是什么东西及它是基于消息机制。 4.掌握基础:这阶段你可以反复的修改及单步调试一个简单的程序,并学会logcat、单步调试、最基本的View、最简单的布局、进而对service、intentFilter等的熟悉 (以上4步骤推荐看深入浅出Google_Android.pdf这个电子书就够了) 5.接下来就得动手了:开始做应用吧,不要问写什么应用,写你自己想的,你认为难度不至于太难的应用(别告诉我你现在就要做3D游戏,要做小鸟之类的),这个时期你基本不要教学的视频和android的书籍,最好的帮手有3个SDK目录下的doc($ANDROID_HOME$\docs\reference\index.html)、百度及google、破解工具(apktool、dex2jar、jd-gui,可以提取目标apk的资源及反编译源代码,这里反编译不是为了干坏事,而是从别人那里学习技术,你并不能完全的得到一个好的破解代码,但你可以通过代码片段来获取信息学习或者进行搜索从而学到各种技术),这个阶段你就要多看别人的代码多动手了,你要开始熟悉和使用android的类库。循环这步,直到你不在做android吧。

    04

    研究微信即时通讯的服务端、朋友圈、红包、推送等方案

    推送:采用增量推送的方式,设置一个sequence,服务端一个客户端一个,每次同步时客户端将cur_seq发给服务端,获得增量数据同步到本地。每个seq都是long型占8byte,考虑到微信用户6亿,Qps达到千万级别,则每秒要处理100兆的IO,相对来说比较大,如何降低呢,微信有一个AllocSvr和StoreSvr两个服务,分别来处理分配和存储,设计一个max_Seq和步长,将一定数量的用户比如连续ID一万个,设计在同一个Section,加上一个max_Seq,步长设为10000,此时可以10^3个等级的数据量,相对AllocSvr处理就简单一些,所以任何一个简单的事情在海量数据下,都会变成一个复杂的问题。另外添加步长,就涉及Old AllocSvr和New AllocSvr,需要根据已知配置文件,有哪些服务器可以切换,考虑到容灾还要做备份服务器,因此做互为备份是服务器能力不浪费的优秀设计;路由的切换也是根据seq的方式,使用路由表来切换的。

    03
    领券