- 博客(15)
- 资源 (1)
- 收藏
- 关注
转载 Android 彻底组件化方案实践
模块化、组件化与插件化项目发展到一定程度,随着人员的增多,代码越来越臃肿,这时候就必须进行模块化的拆分。在我看来,模块化是一种指导理念,其核心思想就是分而治之、降低耦合。而在Android工程中如何实施,目前有两种途径,也是两大流派,一个是组件化,一个是插件化。提起组件化和插件化的区别,有一个很形象的图:组件化和插件化对比
2017-07-30 22:29:08 1277 2
转载 深入理解阻塞队列(一)——基本结构
BlockingQueue是一个继承自Queue的接口,在Queue的队列基础上增加了阻塞操作。简单来说,就是在在BlockingQueue为空时从队头取数据将会被阻塞,因为此时还没有数据可取,一旦队列中有数据了,取数据的线程就会释放得到了数据;如果BlockingQueue有容量限制且满了,那么插入数据的线程将会阻塞,知道队列中有空闲位置可以插入数据了,才会释放。经过上面一段描述,可以发现这不就
2017-07-27 17:36:47 465
转载 Activity启动过程简要介绍
无论是通过点击应用程序图标来启动Activity,还是通过Activity内部调用startActivity接口来启动新的Activity,都要借助于应用程序框架层ActivityManagerService服务进程。在前面一篇文章Android系统在新进程中启动自定义服务过程(startService)的原理分析中,我们已经看到,Service也是由ActivityManagerService进
2017-07-21 16:15:10 377
转载 java 虚拟机 内存分配
JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)堆区:1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身.3.一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。
2017-07-21 14:22:43 252
转载 移动开发构架漫谈——反劫持实战篇
汽车之家是全球访问量最大的汽车网站。为广大汽车消费者提供买车、用车、养车及与汽车生活相关的全程服务,以全面、专业、可信赖、高互动性的内容,多层次、多维度地影响最广泛的汽车消费者,是中国最具价值的互联网汽车营销平台。在UPYUN Open Talk 第八期《移动应用技术架构的解读》技术沙龙上,来自汽车之家技术架构师莫松为开发者分享APP产品遭遇到网络劫持后的解决方案,并且分析产生劫持原因以及
2017-07-20 14:06:28 990
转载 DNS域名劫持的几种解决方法
现在国内上网的用户,大多家用的都是用的网通或者电信的adsl,这中间还分各省地区的拨号服务器,dns(Domain Name System)就成了上网时,很关键的一环,dns的快慢与稳定与否,关系着浏览时的正常;更有甚者,dns的健康与否,更会直接影响各个拨号客户端的健康。dns劫持现在不算新名词了,从理解WWW以后,网络的普及,it知识的丰富积累,大家都知道了能够浏览网络的基本原
2017-07-20 10:17:33 35920 1
转载 线程池的原理及实现(2)
前言线程是稀缺资源,如果被无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,合理的使用线程池对线程进行统一分配、调优和监控,有以下好处:1、降低资源消耗;2、提高响应速度;3、提高线程的可管理性。Java1.5中引入的Executor框架把任务的提交和执行进行解耦,只需要定义好任务,然后提交给线程池,而不用关心该任务是如何执行、被哪个线程执行,以及什么时候执行。dem
2017-07-19 14:53:02 243
转载 线程池的原理及实现(1)
1、线程池简介: 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。 假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间。 如果:T1 + T3 远大于 T2,则可以采用线程池,以提高服务器性能。 一个线程
2017-07-19 14:46:27 255
转载 轻松理解 Android Binder,只需要读这一篇
转载于:http://www.jianshu.com/p/bdef9e3178c9在 Android 系统中,Binder 起着非常重要的作用,它是整个系统 IPC 的基石。网上已经有很多文章讲述 Binder 的原理,有的讲的比较浅显,没有触及到关键,有的讲的太过于深入底层,难以理解,本文会比较全面,以一个比较轻松的方式,从面到点,大处着眼,小处着手的形式去讲述 Binder 在 A
2017-07-17 16:50:02 300
转载 Android初学路上会遇到的瓶颈
供参考Android布局和屏幕适配 Android初学者遇到的第一个瓶颈就是Android 布局的编写。首先Android的layout是用XML写的,而大多数大学生在大学阶段学习网页制作,都是用HTML绘制基本控件,然后用CSS进行页面美化;而Android却用XML绘制界面,style也是用XML写。学习XML最重要的熟能生巧,多练习练习就顺手了,另外XML和HTML有很多
2017-07-16 21:16:17 391
转载 oom
以下为正文:Android的内存优化是性能优化中很重要的一部分,而避免OOM又是内存优化中比较核心的一点。这是一篇关于内存优化中如何避免OOM的总结性概要文章,内容大多都是和OOM有关的实践总结概要。理解错误或是偏差的地方,还请多包涵指正,谢谢!(一)Android的内存管理机制Google在Android的官网上有这样一篇文章,初步介绍了Android是如何管理应用的
2017-07-06 09:18:03 687
转载 Android内存优化之OOM
以下为正文:Android的内存优化是性能优化中很重要的一部分,而避免OOM又是内存优化中比较核心的一点。这是一篇关于内存优化中如何避免OOM的总结性概要文章,内容大多都是和OOM有关的实践总结概要。理解错误或是偏差的地方,还请多包涵指正,谢谢!(一)Android的内存管理机制Google在Android的官网上有这样一篇文章,初步介绍了Android是如何管理应用的
2017-07-05 19:47:50 443
转载 Android中RelativeLayout和LinearLayout性能分析
先看一些现象吧:用eclipse或者Android studio,新建一个Activity自动生成的布局文件都是RelativeLayout,或许你会认为这是IDE的默认设置问题,其实不然,这是由 android-sdk\tools\templates\activities\BlankActivity\root\res\layout\activity_simple.xml.ftl 这个文件事先
2017-07-05 14:41:15 259
转载 如何给100亿个数字排序?
场景之前写过一篇海量数据中统计ip出现次数最多的博客,今天再写篇类似的,当然会有不同的地方,相同的地方我快速写过,详细的可以看之前的博客。今天要给100亿个数字排序,100亿个 int 型数字放在文件里面大概有 37.2GB,非常大,内存一次装不下了。那么肯定是要拆分成小的文件一个一个来处理,最终在合并成一个排好序的大文件。实现思路1.把这个37GB的大文件,用哈希分成1000
2017-07-03 17:46:46 868
转载 单链表冒泡排序
/** * 链表结点类 */class Node{ private int data; private Node next; //链表结点的指针域,指向直接后继结点 public Node(){ next = null; } public Node(int data, Node next){ this.data = data; this.next = next; } publ
2017-07-03 16:45:41 317
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人