自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 Android开源框架之Fresco

简介Fresco是Facebook最新推出的一款用于Android应用中展示图片的强大图片库,可以从网络、本地存储和本地资源中加载图片。相对于ImageLoader,拥有更快的图片下载速度以及可以加载和显示gif图等诸多优势,是个很好的图片框架。特点内存管理:在5.0以下系统,Fresco将图片放到一个特别的内存区域。当然,在图片不显示的时候,占用的内存会自动被释放。这会使得APP更加流畅...

2020-01-31 13:59:20 982

原创 Android开源框架之ImageLoader

特点多线程下载图片,图片可以来源于网络,文件系统,项目文件夹assets中以及drawable中等支持随意的配置ImageLoader,例如线程池,图片下载器,内存缓存策略,硬盘缓存策略,图片显示选项以及其他的一些配置支持图片的内存缓存,文件系统缓存或者SD卡缓存支持图片下载过程的监听根据控件(ImageView)的大小对Bitmap进行裁剪,减少Bitmap占用过多的内存较好的控制...

2020-01-31 12:00:21 732 2

原创 搜索结构(静态)

搜索,就是在数据集合中寻找满足某种条件的数据元素。最常见的一种方式是事先给定一个值,在集合中找出其关键码等于给定值的元素。搜索的结果通常有两种可能:一种可能是搜索成功,即找到满足条件的数据元素。这时,作为结果,可报告该元素在结构中的位置,还可以进一步给出该元素中的具体信息。后者在数据库中叫做检索。另一种可能是搜索不成功,或搜索失败。作为结果,也应该报告一些信息,如失败标志、失败位置等。通常称用...

2020-01-29 21:32:41 569

原创 排序算法之希尔排序

希尔排序的基本思想是:设待排序元素序列有n个元素,首先取一个整数gap<n作为间隔,将全部元素分为gap个子序列,所有距离为gap的元素放在同一个子序列中,在每一个子序列中分别施行直接插入排序。然后缩小间隔gap,例如取gap=[gap/2],重复上述的子序列划分和排序工作。直到最后取gap==1,将所有元素放在同一个序列中排序为止。开始时gap的取值较大,每个子序列中的元素较少,排序速...

2020-01-22 19:11:15 211

原创 排序算法之线性排序(时间复杂度为线性)

桶排序桶排序的核心思想是将要排序的数据分到几个有序的桶里,每个桶里的数据再单独用快排或者冒泡等排序算法进行排序。桶内排完序之后,再把桶里的数据按照顺序依次取出,组成的序列就是有序的了。桶排序的时间复杂度是O(n)。我们分析一下,如果要排序的数据有n个,我们把它们均匀地划分到m个桶内,每个桶里就有k=n/m个元素。每个桶内部使用快速排序,时间复杂度为O(k * logk)。m个桶排序的时 间复...

2020-01-22 18:49:02 861

原创 排序算法之快速排序

快速排序算法在大多数计算机上运行都比其他排序算法快,而且快速排序算法在空间上只使用一个小的辅助栈,消耗的资源比其他的排序算法小,其内部的循环也很小。快速排序的时间复杂度是O(nlogn),但是在极端情况下快速排序的时间复杂度会退化成O(n^2)。例如,如果数组中的数据原来已经是有序的了,比如1,3,5,6,8。如果我们每次选择最后一个元素作为pivot,那每次分区得到的两个区间 都是不均等的。...

2020-01-20 12:03:23 300

原创 排序算法之分治排序

归并排序是基于分治法实现的。归并排序将待排序的元素序列分为两个长度相等的子序列,为每一个子序列排序,然后再将它们合并成一个序列。合并两个子序列的过程称为两路归并。在执行两路归并算法时,先把待归并元素序列L1复制到辅助数组L2中,再从L2归并到L1中。归并排序的时间复杂度为O(nlogn),空间复杂度为O(n)归并排序时稳定的排序算法,但是由于空间复杂度为O(n)因此不是原地排序算法。算...

2020-01-18 22:40:57 782

原创 深入理解Activity的生命周期和启动模式

Activity的生命周期全面分析异常情况下的生命周期分析总结:1.系统只有在Activity异常终止的时候才会调用onSaveInstanceState和onRestoreInstanceState来存储和恢复数据,其他情况不会触发这个过程。2.当我们在onSaveInstanceState中存储一个字符串,然后当Activity被销毁并重新创建后,接收位置可以选择在onR...

2020-01-12 06:59:39 426

原创 Android线程之间的通信架构(Handler消息机制)

当主线程诞生时,就会去执行一个代码循环(Looper),以便持续监视它的信息队列(Message Queue简称MQ)。当UI事件发生了,通常会立即丢一个信息 (Message)到MQ,此时主线程就立即从MQ里面取出该信息,并且处理。例如,用户在UI画面上按下一个Button按 钮时,UI事件发生了,就会把onClick信息丢到 MQ里,于是,主线程会及时从MQ里取出onClick信息,然后调...

2020-01-11 14:23:11 176

原创 设计模式之适配器模式

介绍适配器是将两个不兼容的类融合在一起。例如,经常碰到要在两个没有关系的类型之间进行交互,第一个解决方案是修改各自类的接口,但是如果没有源代码或者我们不愿意为了一个应用而修改各自的接口,此时我们往往会使用一个Adapter,在这两种接口之间创建一个“混血儿”接口,这个Adapter会将这两个接口进行兼容,在不修改原代码的情况下满足需求。定义适配器模式把一个类的接口变成客户端所期待的另一种接...

2020-01-08 21:22:18 140

原创 Android开源框架之Glide

简介(1)使用简单(2)可配置度高,自适应程度高(3)支持常见图片格式 Jpg png gif webp(4)支持多种数据源 网络、本地、资源、Assets 等(5)高效缓存策略:支持Memory和Disk图片缓存 默认Bitmap格式采用RGB_565内存使用至少减少一半(6)生命周期集成 根据Activity/Fragment生命周期自动管理请求(7)高效处理Bitmap...

2020-01-08 11:43:46 363

原创 Android开源框架之Picasso(图片加载框架)

简介Picasso是Square公司出品的一个强大的图片下载和缓存图片库。在adapter中需要取消已经不在视野范围的ImageView图片资源的加载,否则会导致图片错位,Picasso已经解决了这个问题。使用复杂的图片压缩转换来减少内存消耗。自带内存和硬盘二级缓存功能。下载地址https://github.com/square/picasso使用步骤在gradle文件...

2020-01-07 09:12:51 482

原创 Android开源框架之XUtils

简介xUtils3 是 xUtils 的升级版,功能和性能都在提高,xUtils3 主要有四大模块:注解模块,联 网模块,图片加载模块,数据库模块;注解模块: 用于在 Activity 或者 Fragment 中初始化布局文件,便于代码更加简洁;联网模块: xUtils3 支持超大文件(超过2G)上传,更全面的http请求协议支持(11种谓词), 拥有更加灵活的 ORM,更多的事件注解支...

2020-01-06 17:10:54 481

原创 JSON解析(使用框架解析)

使用Gson框架解析Demo展示: // (4)将Java对象的List转换为json字符串[] private void javaToJsonArrayByGson() { // 1 获取或创建Java对象 List<ShopInfo> shops = new ArrayList<>(); ShopIn...

2020-01-06 14:34:38 478

原创 Android开发之屏幕适配

基本概念:屏幕大小 :物理屏幕的大小,指屏幕的对角线长度,经常以英寸为单位。分辨率 :实际上是像素的总和。例如:1280*720dpi :密度。(每英寸所展示的像素)hdpi :480*800 每英寸展示的像素约为240dpildpi :320*240 每英寸展示的像素约为120dpimdpi : 320*480 每英寸展示的像素约为160dpi...

2020-01-05 21:41:11 241

原创 Android开源框架之ButterKnife

简介ButterKnife是注解中相对简单易懂的很不错的开源框架强大的View绑定和Click事件处理功能,简化代码,提升开发效率方便的处理Adapter里的ViewHolder绑定问题运行时不会影响APP效率,使用配置方便代码清晰,可读性强使用步骤在Setting->Plugins中输入butterknife添加插件“Android ButterKnife Aelezn...

2020-01-05 13:59:09 210

原创 JSON解析(Android原生技术)

Android的API提供了将json格式的字符串{}转换成Java对象JSONObject(String json) : 将json字符串解析为json对象Xxx getXxx(String name) : 根据name, 在json对象中得到对应的ValueXxx optXxx(String name) : 根据name, 在json对象中得到对应的Value注意:optXxx方...

2020-01-05 12:45:23 438

原创 Android开源框架之Volley

Demo展示:package com.example.dell.myapplication;import android.app.Activity;import android.graphics.Bitmap;import android.os.Bundle;import android.view.View;import android.widget.Button;import ...

2020-01-04 11:01:51 142

原创 Android开源框架之Afinal

Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行代码就可以对android的sqlite...

2020-01-04 10:15:00 277

原创 Android开源框架之okhttp

OKHttp是一款高效的HTTP客户端,支持连接同一地址的链接共享同一个socket,通过连接池来减小响应延迟,还有透明的GZIP压缩,请求缓存等优势,其核心主要有路由、连接协议、拦截器、代理、安全性认证、连接池以及网络适配,拦截器主要是指添加,移除或者转换请求或者回应的头部信息这个库也是square开源的一个网络请求库(okhttp内部依赖okio)因此,使用okhttp框架时除了下载okht...

2020-01-02 23:25:50 263

空空如也

空空如也

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

TA关注的人

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