自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式(二)——工厂设计模式(1)

一、概念 工厂设计模式也是日常开发中常用的设计模式之一。首先我们先来搞清楚什么是工厂设计模式,我们为什么要使用这种模式。工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到降低耦合提高灵活性的目的。举个例子:我们去买车,车就是一个对象,没有工厂的话,我们就需要自己制造一辆车,也就是New一个对象;但是制造车的过程很复杂,自己制造很麻烦;所以有了工厂,工厂帮我们制造好车,

2017-09-13 21:45:37 6148

原创 Android面试——AsyncTask

一、什么是AsyncTask? AsyncTask是安卓提供的轻量级的异步类,使用时可以继承AsyncTask,在类中可以进行异步操作,可以把运算好的结果交给UI线程来进行UI的显示。适合做一些耗时比较短的操作,耗时长的操作适合用线程池。 AsyncTask本质上是一个封装了线程池和Handler的异步框架,主要是用来执行异步任务的,由于内部集成了Handler,所以能够方便的在UI线

2017-09-10 11:20:53 6587

原创 Android面试——BroadcastReceiver

一、BroadcastReceiver是什么? 1.Broadcast是一种广泛运用的在应用程序之间传输信息的机制,可以跨进程通信,Android中我们要发送的广播内容是一个Intent,这个Intent可以携带我们要传送的数据。是android四大组件之一、是app内的全局监听器,运行于主线程中; 2.它实现了不同程序之间的数据共享:一条广播可以被多个广播接受者接受。Service的信息

2017-09-08 20:18:20 6239

原创 Android面试——OOM及ANR

一、什么是oom? OOM就是当前占用的内存加上我们申请的内存资源超过了Dalvik虚拟机的最大内存限制就会抛出的Out Of Memory的异常,主要是因为过多的内存泄漏造成的OOM。二、造成OOM的主要原因有哪些?平时开发中需要注意什么?bitmap是内存消耗大户,所以为了避免出现oom,首先要对bitmap进行优化: 1.图片显示:如:显示缩略图时不调用网络请求加载大图、Lis

2017-09-07 22:02:36 6950

原创 Android面试——内存泄漏

一、什么是内存泄漏? 内存泄漏是指无用对象(不再使用的对象)持续占有内存或无用对象的内存得不到及时释放,从而造成的内存空间的浪费称为为内存泄漏。二、造成内存泄漏的原因有哪些,怎么解决?1.单例模式造成的内存泄漏 原因:单例的静态特性使得单例的生命周期和应用的生命周期一样长,如果一个Activity已经不需要使用了,而单例对象还持有该Activity的引用,那么这个Activity将不能被正

2017-09-07 21:50:18 6237

原创 Android面试——Fragment相关

一、什么是Fragment,为什么它会被称为第五大组件Fragment是一个模块化和可重用的组件, 目的是为了解决不同屏幕分辩率的动态和灵活UI设计。 Fragment之所以被称为第五大组件是因为它比Activity更节省内存,其切换模式也更加舒适,使用频率不低于四大组件,且有自己的生命周期,但是必须依附于Activity。 Fragment的优点可以具体整理为如下几点: Fragme

2017-09-05 21:49:16 6536

原创 Android面试——Service相关

今天介绍一下面试时被问到的关于Service的问题。一、什么是Service以及它的生命周期Service是Android组件的一种,派生自android.app.service类。它不提供交互界面,只是在后台运行,进行功能调度或提供数据支持。可以运行在自己的进程,也可以运行在其他应用程序进程的上下文里。 需要通过某一个Activity或者Context对象来调用。Service组件主要有两个作用:

2017-09-05 17:08:24 6519

原创 基础控件——TextView实现部分文字可点击

本次来讲解一下SpannableString和SpannableStringBuilder实现定制文本。 直接上代码public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCr

2017-09-04 22:14:05 7870

原创 Android面试——Activity相关

今天介绍一下面试时被问到的关于Activity的问题。*一、什么是Activity,介绍一下Activity的生命周期。 Activity四大组件之一,一般一个用户交互界面对应一个 activity * Activity 是Context的子类,同时实现了window.callback和keyevent.callback, 可以处理与窗体用户交互的事件. Activity的

2017-09-04 20:58:54 6235

原创 基础控件——TextView

对每个Android程序员来说,我们接触的第一个android控件恐怕就是TextView了,今天分享一下TextView的基础用法,我会在下一篇文章介绍TextView的一些高级用法。首先我们来认识一下组成TextView的最基本的几个属性:<TextView android:id="@+id/tv" android:layout_width="match_pare

2017-09-02 21:43:34 6573

原创 设计模式(一)——单例设计模式

设计模式大家一定不陌生,Java语言中我们经常会有意无意的就使用到一些设计模式,那么设计模式到底是什么,为什么要使用设计模式呢?其实设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。说白了就是整理写法,让代码更系统化,优化代码量,使用更方便。使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。设计模式分为很多种,今天先跟

2017-08-30 23:07:41 6533

原创 Toast工具类

Toast想必大家都不陌生, 它是Android中提供一种简单的消息提示框机制,可以在用户点击了某些按钮后,提示用户一些信息,提示的信息不能被用户点击,Toast的提示信息根据设置的时间显示后自动消失。在实际开发中,经常会有一些界面需要用到Toast来给用户的一个操作提示。如登录界面提示用户输入密码错误: Toast.makeText(xxxActivity.this,"密码输入错误",Toast

2017-08-30 16:24:47 6383

原创 自定义Log工具——管理你的Log日志

在实际开发过程中,为了方便调试,我们往往会在很多地方打印大量的Log日志来方便对可能出现的BUG进行快速查找。一个一个删,不仅浪费时间,而且遗漏的可能性非常大,删除后也不利于后期更新维护。下面跟大家分享一个我自己使用的一个Log工具类,轻松管理Log日志,供大家参考:import android.util.Log;/** * Description: LogUtils日志工具类 * Aut

2017-08-19 23:23:50 7549 1

空空如也

空空如也

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

TA关注的人

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