谈谈你对Application类的理解

因为一个App有可能有多个Dalvik虚拟机,也就是传说中的多进程模式。在这种模式下,每一个Dalvik都会存在一个Application实例,他们之间没有关系,在A进程Application里面保存的数据不能在B进程的Application获取,因为他们根本不是一个对象,而且被隔离在了两个进程里面,所以这里强调是一个Dalvik虚拟机,而不是一个App。

OkHttp源码解析

`OkHttp`是一个适用于`Android`和`Java`应用程序的`HTTP` + `HTTP/2`框架。

当我们按下电源键,Android 究竟做了些什么?

引导程序是 Android 操作系统开始运行前的一个小程序,因此它需要针对特定主板与芯片,并不是 Android 操作系统的一部分。引导程序是OEM厂商或运行商进行加锁、限制的地方。

关于Android学习的三个终极问题

从事软件开发行业后,发现要学的东西越来越多。尤其是近几年,发现未知的知识实在是太多。恐怕IT人活到老学到老的压力是绝无逃避的可能性了。那么,关于学习,我们需要注意什么呢?2015年google开发者社区一个集会上,我曾经分享过一些思考。4年过去了,又积累了不少经验教训(其实就是老了不少),现在想总结这些年的观察,做一个总结。我感觉可能需要至少两篇文章才能说完。一个是本篇的关于Android学习的三个终极问题,另外一个是对一专多能的思考。

借华为方舟编译器,谈一下Android ART JVM的几个有趣知识点

简单来说,源码写成什么样的逻辑,无论是解释执行还是机器码执行都得按这个逻辑来执行。按华为方舟编译器介绍的那样,这是一个类似翻译的工作。再牛、再快的编译器,如果翻译错了,就毫无价值。

HTTPS 基本过程

HTTPS 即 HTTP over TLS,是一种在加密信道进行 HTTP 内容传输的协议。

HTTP 的特性

HTTP 协议构建于 TCP/IP 协议之上,是一个应用层协议,默认端口号是 80。

数据库事务的概念

事务的概念来自于两个独立的需求:并发数据库访问,系统错误恢复。

关于数据库索引你需要了解的

数据库创建索引能够大大提高系统的性能。

操作系统提供的服务

操作系统的五大功能,分别为:作业管理、文件管理、存储管理、输入输出设备管理、进程及处理机管理

数据结构基础知识:树

**二叉树**:二叉树是有限个结点的集合,这个集合或者是空集,或者是由一个根结点和两株互不相交的二叉树组成,其中一株叫根的做左子树,另一棵叫做根的右子树。

排序算法的评价

稳定排序算法会依照相等的关键(换言之就是值)维持纪录的相对次序。也就是一个排序算法是稳定的,就是当有两个有相等关键的纪录R和S,且在原本的串行中R出现在S之前,在排序过的串行中R也将会是在S之前。

洗牌算法

洗牌算法,顾名思义,就是只利用一次循环等概率的取到不同的元素(牌)。

动态规划

适用于动态规划的问题,需要满足**最优子结构**和**无后效性**,动态规划的求解过程,在于找到**状态转移方程**,进行**自底向上**的求解。

ListView原理与优化

ListView的实现离不开Adapter。可以这么理解:ListView中给出了数据来的时候,View如何实现的具体方式,相当于MVC中的V;而Adapter提供了相当于MVC中的C,指挥了ListView的数据加载等行为。

面试常用问题

看看面试经常被问到的问题,帮你总结自己。

安卓系统结构
Android中的动画

Android中的动画分为补间动画(Tweened Animation)和逐帧动画(Frame-by-Frame Animation)。没有意外的,补间动画是在几个关键的节点对对象进行描述又系统进行填充。而逐帧动画是在固定的时间点以一定速率播放一系列的drawable资源。

Activity生命周期
平台代号、版本、API 级别和 NDK 版本

介绍Android各个版本的代号与API之间的关系,以及命名。

程序员面试的非技术性问题与HR面的常见问题

这里整理的是一些与技术没有直接关系的面试题,但是能够考察你的综合水平,所以不要以为不是技术问题,就不看,往往有时候就是这样一些细节的题目被忽视,而错过了一次次面试机会。

Java面试题汇总

熟练掌握java是很关键的,大公司不仅仅要求你会使用几个api,更多的是要你熟悉源码实现原理,甚至要你知道有哪些不足,怎么改进,还有一些java有关的一些算法,设计模式等等。

高端技术面试题

这里讲的是大公司需要用到的一些高端Android技术,这里专门整理了一个文档,希望大家都可以看看。这些题目有点技术含量,需要好点时间去研究一下的。

Android常规面试题

Android面试题除了Android基础之外,更多的问的是一些源码级别的、原理这些等。所以想去大公司面试,一定要多看看源码和实现方式,常用框架可以试试自己能不能手写实现一下,锻炼一下自己。

大厂(BAT)移动端面试必备

大厂除了技术深度之外,还要求你具备一些广度的知识,比如你要会前端知识,会混合开发,至少会一种脚本语言,C C++更不用说了,也是必会的。

Google Java编程风格规范(中文版)

前言 这份文档是Google Java编程风格规范的完整定义。当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java编程风格。 与其它的编程风格指南一样,这...

使用 JD-GUI 看找Jar包,class 文件的源代码

JD-GUI 的官方地址 : http://jd.benow.ca/ 对于Java开发人员来说,提供了一大堆第三方jar包,class文件,而没有源代码的话是非常痛苦的,特别是debug调试的时候,当然你...

推荐一款全平台的SQlite管理工具: DB Browser for SQLite

官方网站:http://sqlitebrowser.org/,另外,这个工具还是完全开源的,开源地址:https://github.com/sqlitebrowser/sqlitebrowser 先上图: 关于DB Browser for SQLite...

Fiddler介绍
两分钟彻底让你明白Android Activity生命周期(图文)

首先看一下Android api中所提供的Activity生命周期图(不明白的,可以看完整篇文章,在回头看一下这个图,你会明白的): ![]( http://codingsky.oss-cn-hangzhou.aliyuncs.co...

Android权限 - 第一篇

本站翻译自 Android Permissions Part 1 Marshmallow提出了一套新的权限模型,在这一系列的文章中,我们将从技术上探讨如何处理权限问题,以及如何让用户体验更友好。 首...

Android 应用项目工程规范

本文档的目的是定义项目规范。这些应遵循整个 Android 项目以帮助我们保持整洁和统一的代码库。 翻译自:project_style_guidelines.md 1. 项目规范 1.1 项目结构 一个完整的...

Android UI基本技术点

1.什么是DPI? DPI(Dots Per Inch):每英寸点数,表示指屏幕密度。是测量空间点密度的单位,最初应用于打印技术中,它表示每英寸能打印上的墨滴数量。较小的DPI会产生不...

Android窗口管理框架:Android布局解析者LayoutInflater
Android窗口管理框架:Android窗口管理框架概述
Android窗口管理框架:Android应用窗口管理服务WindowServiceManager
Android包管理框架:APK的加载流程
Android包管理框架:APK的打包流程
Android包管理框架:APK的安装流程
Android系统软件设计篇:设计模式
Android混合编程:WebView实践
Android网络编程:网络编程实践
Android媒体开发:Camera实践指南
Android媒体开发:Bitmap实践指南
Android界面开发:View自定义实践布局篇
Android界面开发:Fragment实践
Android界面开发:View自定义实践概览
Android界面开发:View自定义实践绘制篇
Android应用优化:启动优化
Android应用优化:优化概述

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8