自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Rosso_Wine的博客

最近在做安卓面试系列,博客会经常更新,有需要的朋友就关注我吧!我们的目标是打造最好记的安卓面试题~~

  • 博客(21)
  • 资源 (2)
  • 收藏
  • 关注

原创 网络框架okHttp源码分析

引言在上一篇博客中,我们讲解了okHttp网络框架的基本使用,包括get请求,post请求,单个文件上传,多个文件上传,其中最主要的就是各个请求的request的封装。我们来回顾一下,get请求只需要一个url即可,post请求需要一个FormBody,单个文件上传需要拿到File对象,然后封装成一个requestBody,多个文件上传需要添加MutilpartBody和CountingReques

2017-09-15 21:09:55 372

原创 网络框架okHttp之基本使用

引言开发一个app,我们首先想到的肯定是搭建网络框架和图片框架,图片框架我们之前已经详细介绍了Universal-Image-Loader,对于它的使用以及实现原理我们都做出了详细的讲解,还有不理解的就去,这两篇博客中去看看:安卓面试系列–Universal-Image-Loader图片加载框架和安卓面试系列–OOM异常(二),这里我们还是带大家简单过一下,首先我们需要导包,然后加上权限,然后配置图

2017-09-15 11:24:12 706

原创 图片加载框架Picasso和Glide

引言前面我们已经讲解了老牌图片加载框架Universal-Image-Loader,讲解了它的使用,并分别从图片三级缓存的角度和缓存Lru算法角度详细分析了源码,还给大家做出了总结,不清楚的可以去 安卓面试系列–Universal-Image-Loader图片加载框架和 安卓面试系列–OOM异常(二)这两篇博客中看看。今天我们来讲另外两个图片加载框架,Picasso和Glide,这两者非常像,所以我

2017-09-13 20:41:49 861

原创 Universal-Image-Loader图片加载框架

引言在前面的安卓面试系列–OOM异常(二)中我们已经给大家简单分析了一下Universal-Image-Loader,并且还在文末给大家提供了一个已经封装好的工具类,不知道大家觉得好不好用呢?今天我们就来分析一下安卓中几大主流的图片加载框架的优缺点。Universal-Image-Loader我们先来回顾一下这个图片加载框架,主要是要进行两个配置,一个是图片下载前的配置,还有一个是图片显示配置,我们

2017-09-13 16:23:27 648

原创 多线程

引言上一篇安卓面试系列–线程和线程池我们只是简单的介绍了一下线程,重点放在了线程池上。我们都知道线程是程序运行的最小单元,但是它不能无限的创建,因为线程的创建和销毁都需要消耗系统资源,但是我们可以创建有限的线程来提高我们程序的效率,所以这一篇我们来重点讲一下安卓中的多线程。在那之前,我们先来了解一下进程和线程的区别:进程:每一个进程(程序)都有独立的代码和数据空间(进程上下文),进程间的切换开销巨

2017-09-12 19:47:16 378

原创 线程和线程池

android沿用了java的线程模式,其中线程也分主线程和子线程。一、线程1、主线程和子线程一个程序在运行,也就是一个进程在执行,一个进程里面可以有很多线程。主线程:也叫UI线程,用于运行四大组件和用户之间的交互。主线程是指进程所拥有的线程,一个进程只有一个主线程。子线程:一般使用子线程来进行耗时操作,比如IO操作或者网络请求(安卓4.0以后的网络请求是不允许在主线程中执行的,只能放在子线程)

2017-09-12 11:40:46 456 1

原创 内存泄漏(二)

引言首先我们先来写一个程序模拟一下内存泄漏,方法很多,上一篇安卓面试系列–内存泄漏(一)中我们讲了很多造成内存泄漏的原因,不知道大家还记不记得,不记得的话记得多看几遍,然后自己默写处出来。这里还是带大家简单过一遍吧,首先是单例模式的静态关键字和创建单例时需要传入的context,第二个是非静态内部类创建静态实例,第三个是Handler,第四个AsyncTask和线程,最后一个是一些资源未关闭,比如b

2017-09-12 00:29:15 248

原创 内存泄漏(一)

引言相信我们作为开发人员,肯定对“内存泄漏”这个词不陌生,那么什么是内存泄漏呢?内存泄漏会导致什么样的后果?造成内存泄漏的原因有哪些?怎么解决内存泄漏?这就是我们今天要讲的四大主题。一、什么是内存泄漏?内存泄漏就是那些应该被安卓垃圾回收机制回收掉的对象因为其他对象持有它们的引用而回收不掉,导致这些对象长期占有内存,这就叫内存泄漏,简单的说就是无用对象长期占用内存。二、内存泄漏的后果因为这些无用对象长

2017-09-11 21:21:50 319

原创 OOM异常(二)

文末有福利!!!!!!前情回顾在上一篇:安卓面试系列–OOM异常(一)中,已经讨论了安卓中OOM发生的原因和如何有效加载高清图片的。现在在此回顾一下:安卓OOM发生的原因:图片分辨率过大,导致加载图片所需的内存超过系统给进程(app)分配的运行内存,内存爆掉,产生OOM 核心解决办法: 利用BitmapFactory.Options的inSimpleSize,计算出合适的图片采样率,减小图片分辨率

2017-09-11 12:57:51 444

原创 OOM异常(一)

一、什么是OOM?首先在开始我们今天的学习之前,我们必须要了解安卓的系统内存分为存储内存(ROM)和运行内存(RAM),而我们今天要讲的OOM就是和RAM有关,这一点必须要明确。现在的手机大多是2G的运行内存,可能有3G或者4G,总之,不管运行内存多大,OOM就是我们程序申请的内存太大了,超过了系统分配给我们的可用内存。安卓系统的app的每一个进程或者虚拟机都有最大内存限制,如果超过这个限制,就会抛

2017-09-11 11:31:50 739

原创 ANR异常

作为一个开发人员,即使你不知道ANR异常,你肯定也遇到过程序无响应,其实ANR就是程序无响应(Application Not Responding)。那么什么是ANR呢?一、什么是ANR?ANR就是Application Not Responding,是安卓中弹出的一个对话框,让用户来选择等待或者直接关闭程序。activity响应超过5秒,service响应超过10秒,都会出现ANR。二、ANR产生

2017-09-10 16:25:47 771

原创 ListView

相信大家在开发过程中,肯定用过ListView,那么关于ListView的面试题有哪些呢,我们一起来看看。一、什么是ListView当面试官问你什么是ListView,你的脑海中是不是只有图像没有语言,所以给大家讲一下什么是ListView。 ListView就是可以把数据集合以滚动的方式展示到屏幕上的一个view。 两个关键点:一个数据集合,一个滚动的方式。二、 ListView适配器模式提到

2017-09-10 11:20:19 606

原创 自定义View

我们知道安卓中已经给我们提供了很多的控件,我们可以直接使用,但是很多时候我们也需要自己定义一个View来满足我们项目的需求。那我们怎么来自定义一个View呢,自定义一个View要经历那些过程,接下来,我们一点一点揭秘。实现自定义View的基本步骤首先,从大方向来讲,自定义View一共只需要以下三个步骤:测量(onMesure)布局(onLayout)绘制(onDraw)然后就是实现自定义

2017-09-09 21:36:06 353

原创 异步消息处理机制

关于安卓中的异步消息处理机制,主要有以下几个部分:Handler、AsyncTask、HandlerThread、IntentServiceHandler一、什么是Handler?安卓刚启动的时候,会新开一个主线程,叫做main Thread,它就是用来处理UI的线程。但是安卓中的UI操作并不是线程安全的,也就是说,可能会有多个并发的线程同时操作UI,这样就会导致界面的错乱。所以安卓中就规定只有

2017-09-09 11:11:36 1403

原创 Binder机制

一、Binder的由来?android的底层使用的是Linux内核,而Linux为了保证系统的稳定性,使用了进程隔离的机制,让不同的进程运行在不同的虚拟地址空间中,这样就可以防止两个进程A篡改进程B的数据。但是有时候我们也需要两个进程之间进行通信,比如很多时候我们app就需要调用我们系统的服务,但是两者是在不同的虚拟空间的,这时候就需要使用Binder机制来让两者建立联系。所以,Binder机制的出

2017-09-08 21:25:16 409

原创 Fragment

这是关于fragment的面试题,基本上涵盖了90%的内容,有需要的朋友可以多看看,也欢迎大家指出我的不足,我会虚心接受。

2017-09-08 09:13:06 423

原创 service

service相关面试题。service是什么以及它的启动方式等。

2017-09-07 17:08:45 434

原创 Activity

activity相关面试题,这只是一小部分,后续会有补充,欢迎大家留言告诉我你在面试过程中遇到的相关问题,我来帮大家总结。

2017-09-07 11:17:26 573

原创 事件分发

为什么会有事件分发机制?因为android中的view是树形结构的,View可能会重叠,当我们点击一块区域的时候,可能会有多个View响应,这个时候就不知道这个事件该判给谁,所以引入了事件分发机制。PhoneWindow Window是管理视图最顶层的容器,是抽象类,PhoneWindow是抽象类Window的唯一实现类,DecorView是PhoneWindow的内部类。三个重要的事件分发方

2017-09-06 19:30:42 382

原创 网络编程

1、IP地址和端口号是什么?IP地址由4个0-255之间的数字组成,每个网卡有一个唯一的IP地址, 在同一个网络内部,IP地址不能相同(IP冲突)。 IP地址的概念类似于电话号码、身份证这样的概念。为了方便记忆, 专门创造了域名的概念,IP和域名之间存在一定的对应关系( 例如163.com、sina.com等)。IP 地址与网络服务的关系是一对多的关系, 实际上是通过“IP地址+端口号”来区分

2017-09-05 19:47:52 487

原创 BroadcastReceiver

一、什么是BroadcastReceiver?是android四大组件之一、是app内的全局监听器,运行于主线程中;可以用于进程内通信,也可以用于进程间通信(跨进程通信);主要分为两种:无序广播、有序广播 无序广播:任何接收者都能收到广播,效率高,但是接收者无法传递广播,也不能截断广播有序广播:接收者按照优先级的高低来接收广播,每一个接收者都有权修改广播,并将修改后的广播内容传递给下一个接

2017-09-04 21:00:59 370

接口自动化测试源码.zip

python接口自动化测试源码

2019-07-25

universal-image-loader-1.9.5.jar

我们在开发APP的时候肯定遇到加载图片的需求尤其是列表需要加载大量图片的时候,那么我们势必需要进行下载图片并且进行显示。但是由于内存等各方面的问题多多少少会遇到一些问题;例如:列表加载图片,图片错乱分布啦。或者出现OOM问题啦~~这时候我们需要开发图片异步加载并且可以适当压缩框架。例如:UIL(Universal-Image-Loader,github项目地址UIL项目地址)除此之外还有其他很多框架Glide,Fresco,Picasso等等很多。后面几个现在用的比较多而且还在更多。后面的文章我这边也会分享其他的图片加载框架。 UIL(Universal-Image-Loader)旨在提供一个强大的、灵活的和高度可定制的工具图像加载、缓存和显示功能。并且提供了许多配置选项和良好控制图像加载和缓存的过程。所以在之前长久的一段时间里,该框架的使用非常广且很方便哦。

2017-09-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除