[置顶] 滴滴插件化VirtualAPK框架原理解析(二)之Service 管理

在前一篇博客滴滴插件化框架VirtualAPK原理解析(一)之插件Activity管理 中VirtualAPK是如何对Activity进行管理的,本篇博客,我们继续来学习这个框架,这次我们学习的是如何去管理Service。Service工作原理分析说道如何对Service进行插件化,肯定得先了解Service的工作过程,不然何谈插件化?所以我们先一起学习Service的工作原理。Service分为...
阅读(1909) 评论(1)

[置顶] 滴滴插件化框架VirtualAPK原理解析(一)之插件Activity管理

上周末,滴滴与360都开源了各自的插件化框架,Virtualapk与RePlugin,作为一个插件化方面的狂热研究者,在周末就迫不及待的下载了Virtualapk框架来进行研究,本篇博客带来的是Virtualapk原理解析的第一篇Activity管理,博客只是自己的理解,小弟才疏学浅,可能有很多理解不对的地方,欢迎各位大神指出。(看博客之前,请大家先下载Virtualapk的项目,https://g...
阅读(4839) 评论(4)

Java数据结构与算法解析(六)——AVL树

之前我们说过普通二叉查找树的删除算法会使得左子树比右子树深,因为我们总是用右子树的一个来代替删除的节点。会造成二叉查找树,严重的不平衡。AVL树简介而AVL树就是解决普通二叉查找树弊端的方法,他是带有平衡条件的二叉查找树,这个平衡条件必须容易保持,而且它保证树的深度必须是O(logN).AVL树是高度平衡的而二叉树。它的特点是:AVL树中任何节点的两个子树的高度最大差别为1。 上面的两张图片,左边的...
阅读(7143) 评论(8)

Java数据结构与算法解析(五)——二叉查找树

二叉查找树简介二叉查找树(Binary Search Tree),又被称为二叉搜索树。 它是特殊的二叉树:对于二叉树,假设x为二叉树中的任意一个结点,x节点包含关键字key,节点x的key值记为key[x]。如果y是x的左子树中的一个结点,则key[y] = key[x]。那么,这棵树就是二叉查找树。如下图所示: 在二叉查找树中...
阅读(2249) 评论(2)

Java数据结构与算法解析(四)——树的概述

树的基本概念树具有以下的特点: (01) 每个节点有零个或多个子节点; (02) 没有父节点的节点称为根节点; (03) 每一个非根节点有且只有一个父节点; (04) 除了根节点外,每个子节点可以分为多个不相交的子树。树的基本术语1.结点的度 结点拥有的子树数称为结点的度。度为0的结点称为叶子结点或终端结点,度不为0的结点称为非终端结点或分支结点。除根结点以外,分支结点也称为内部结点。树的...
阅读(4414) 评论(4)

Java数据结构与算法解析(三)——队列与背包

关联文章: Java数据结构与算法解析(一)——表 Java数据结构与算法解析(二)——栈队列基本概念像栈一样,队列也是表。然而,使用队列时插入在一端进行,而删除则在另一端进行。插入的一端称为队尾,删除的一端称为队头 。其插入和删除的操作分别在表的两端进行,队列的特点就是先进先出(First In First Out)。队列的数组实现队列的顺序储存缺点:出队复杂度高0(n),容易假溢出 Fr...
阅读(2741) 评论(1)

Java数据结构与算法解析(二)——栈

关联文章: Java数据结构与算法解析(一)——表栈是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈顶。对栈的基本操作有push(进栈)和pop(出栈),对空栈进行push和pop,一般被认为栈ADT的一个错误。当push时空间用尽是一个实现限制,而不是ADT错误。栈有时又叫做LIFO(后进先出)表。基本概念允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),...
阅读(4671) 评论(1)

Java数据结构与算法解析(一)——表

本节我们讨论常见常用的数据结构——表。 如果要通俗简单的说什么是表,那我们可以这样说:按顺序排好的元素集合就是表。表的概述抽象数据类型是带有一组操作的一些对象的结合1、定义: 线性表是一个线性结构,它是一个含有n≥0个结点的有限序列,对于其中的结点,有且仅有一个开始结点没有前驱但有一个后继结点,有且仅有一个终端结点没有后继但有一个前驱结点,其它的结点都有且仅有一个前驱和一个后继结点。2、特征/性...
阅读(3926) 评论(0)

一篇博客让你了解Material Design的使用

Material Design的基本概念Material Design是Google设计的一套视觉语言,将优先的经典的设计原理与科技创新相结合,为开发者提供一套完成视觉和交互设计规范。移动设备是这套设计语言的基础对象,让用户在不同的平台、不同尺寸的设备上能保持一致的体验。 Material Design强调交互上的即时反馈,即对于用户的触控等行为app需要给出即时的反应。同时Materi...
阅读(4589) 评论(8)

Android源码分析之理解Window和WindowManager

Window和WindowManager概述Window是一个抽象类,它的具体实现是PhoneWindow,创建一个Window通过WindowManager 就可以完成。WindowManager是外界访问Window的入口,它的具体实现在WindowManagerService中,WindowManager和WindowManagerService的交互是一个IPC的过程。Android中所有的...
阅读(2337) 评论(0)

务实java基础之IO

“对语言设计人员来说,创建好的输入/输出系统是一项特别困难的任务。”由于存在大量不同的设计方案,所以该任务的困难性是很容易证明的。其中最大的挑战似乎是如何覆盖所有可能的因素。不仅有三种不同的种类的 IO 需要考虑(文件、控制台、网络连接),而且需要通过大量不同的方式与它们通信(顺序、随机访问、二进制、字符、按行、按字等等)。 Java 库的设计者通过创建大量类来攻克这个难题。事实上, Java 的...
阅读(3754) 评论(5)

务实java基础之集合总结

Java 提供了容纳对象(或者对象的句柄)的多种方式。其中内建的类型是数组,此外, Java 的工具库提供了一些 “集合类”,利用这些集合类,我们可以容纳乃至操纵自己的对象。 声明:本篇博客内容参考自《java编程思想》,代码均来自书中,大部分内容截取自该书数组和第一类对象无论使用的数组属于什么类型,数组标识符实际都是指向真实对象的一个句柄。那些对象本身是在内存 “堆”里创建的。堆对象既可“隐...
阅读(4854) 评论(1)

《Effective Java》读书笔记(二)之对于所有对象都通用的方法

第八条 在改写equals的时候请遵守通用约定一般以下几种情况,不适宜覆盖equals方法 1.类的每个实例本质上都是唯一的,对于代表活动实体而不是值的类确实如此,例如Thread.2.不关心类是否提供了“逻辑相等”的测试功能3.超类已经覆盖了equals,从超类继承过来的行为对子类也是合适的4.类是私有的或者包级私有的,可以确定它的equals方法永远不会被调用。那什么情况应该覆盖Object....
阅读(219) 评论(0)

Android 贝塞尔曲线解析

相信很多同学都知道“贝塞尔曲线”这个词,我们在很多地方都能经常看到。利用“贝塞尔曲线”可以做出很多好看的UI效果,本篇博客就让我们一起学习“贝塞尔曲线”。贝塞尔曲线的原理贝塞尔曲线是用一系列点来控制曲线状态的,这些点简单分为两类: 类型 作用 数据点 确定曲线的起始和结束位置 控制点 确定曲线的弯曲程度 一阶贝塞尔曲线 一阶曲线是没有控制点的,仅有两个数据点(A 和 B),最...
阅读(3298) 评论(7)

《Effective Java》读书笔记(一)之创建和销毁对象

最近在研读《Effective Java》一书,读书不做点笔记,感觉很容易就忘掉,于是用本篇博客来记录阅读此书的笔记。 郑重声明: 由于是《Effective Java》一书的笔记,所以大部分内容基本来自此书,还有一小部分是自己的理解。第1条 考虑用静态工厂方法代替构造器一般来说,获取一个类的实例,大家想到的都是通过该类的公有构造函数来new 一个实例,而第一条推荐我们可以考虑使用静态工厂方法来创...
阅读(381) 评论(0)

Android性能优化系列之电量优化

电量消耗的计算与统计是一件麻烦而且矛盾的事情,记录电量消耗本身也是一个费电量的事情,随着Android开的性能要求越来越高,电量的优化,也显得格外重要,一个耗电的应用,用户肯定会毫不犹豫的进行卸载,所以本篇博客,我们一起来学习Android性能优化之电量优化。耗电是如何产生的?耗电情况,例如:打开屏幕,所有要使用CPU/GPU工作的动作都会唤醒屏幕,都会消耗电量。这和应用程序唤醒设备还不一样。 (...
阅读(2680) 评论(5)
93条 共7页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:317632次
    • 积分:4190
    • 等级:
    • 排名:第7683名
    • 原创:92篇
    • 转载:0篇
    • 译文:0篇
    • 评论:204条
    博客专栏
    最新评论