Android之Activity知识库
Horizon_Ruan
从事人脸识别研究,Android、前端等方面
展开
-
Android~两种将Activity设置成窗口样式的方法
1.在AndroidManifest.xml文件中设置当前需要改变成窗口样式的Activity的主题theme属性,即 android:theme="@android:style/Theme.Dialog" 2.自定义主题样式继承Dialog样式 (1)在style.xml文件中自定义一个主题样式<style name="Theme.MyDialog" parent="android:styl原创 2017-09-27 19:48:11 · 3363 阅读 · 1 评论 -
Android Volley框架源码解析
经常接触Android网络编程的我们,对于Volley肯定不陌生,但我们不禁要问,对于Volley我们真的很了解吗?Volley的内部是怎样实现的?为什么几行代码就能快速搭建好一个网络请求?我们不但要知其然,也要知其所以然,抱着这样的目的,本文主要详细讲述Volley的源码,对内部流程进行详细解析。Part 1.从RequestQueue说起 (1)还记得搭建请求的第一步是什么吗?是新建一个请求队转载 2017-10-24 22:22:37 · 205 阅读 · 0 评论 -
Android开源框架之AsyncHttpClient
AsyncHttpClient应用了Android的Handler发送消息机制。你也可以把AsyncHttpClient应用在Service中或者后台线程中,库代码会自动识别出它所运行的context。它的feature包括: 1. 发送异步http请求,在匿名callback对象中处理response; 2. http请求发生在UI线程之外; 3. 内部采用线程池来处理并发请求; 4. G原创 2017-10-05 22:09:16 · 593 阅读 · 0 评论 -
Android-图片加载优化
Android应用中常常有加载图片资源的操作,随着Android手机平板的分辨率越来越高,图片资源越来越大,在加载高清图片的时候,由于瞬间产生大量的内存消耗,有时java GC来不及进行垃圾回收,就很容易发生OOM现象,怎么优化加载图片呢?方法一:BitmapFactory.Options的两个参数inPurgeable、inNativeAllocpublic Bitmap decodeFile(S原创 2017-09-19 22:33:04 · 935 阅读 · 0 评论 -
Android之LruCache使用和源码分析
LruCache的Lru指的是LeastRecentlyUsed,也就是近期最少使用算法。也就是说,当我们进行缓存的时候,如果缓存满了,会先淘汰使用的最少的缓存对象。 为什么要用LruCache?其实使用它的原因有很多,例如我们要做一个电子商务App,如果我们不加节制的向服务器请求大量图片,那么对于服务器来说是一个不少的负担,其次,对于用户来说,每次刷新都意味着流量的大量消耗以及长时间等待,转载 2017-10-05 10:12:44 · 265 阅读 · 0 评论 -
Android之IntentService和Service
IntentService:异步处理服务,新开一个线程:handlerThread在线程中发消息,然后接受处理完成后,会清理线程,并且关掉服务。 IntentService有以下特点: (1) 它创建了一个独立的工作线程来处理所有的通过onStartCommand()传递给服务的intents。 (2) 创建了一个工作队列,来逐个发送intent给onHandleIntent()。 (3原创 2017-09-22 11:11:24 · 218 阅读 · 0 评论 -
Android之Linerlayout、RelativeLayout、FrameLayout性能比较
View和ViewGroup什么区别? 1.RelativeLayout不但是一个View还可以是一个ViewGroup. 2.ViewGroup内部是可以有子View,这个子View同样也可能是ViewGroup,以此类推。View的绘制 1.从ViewRoot的performTraversals()方法开始依次调用perfromMeasure、performLayout和performDr原创 2017-09-21 22:27:42 · 3665 阅读 · 0 评论 -
Android之activity四种启动方式
standard:标准模式 系统默认模式。每次启动activity都会重新创建一个新的实例。 singleTop: 栈顶复用模式 scene one: 如果即将启动的activity已经有相同的实例位于栈顶,那么就不会再创建相同类型的实例,而是会调用该栈顶的activity的onNewIntent方法,通过该方法我们可以取得当前请求的信息。当然,既然没有被从新实例化,该act转载 2017-06-15 15:44:59 · 279 阅读 · 0 评论 -
Android之面试常见问题
1 . Activity 系列问题 1.1 绘制Activity生命周期流程图1.2 介绍下不同场景下Activity生命周期的变化过程 • 启动Activity: onCreate()—>onStart()—>onResume(),Activity进入运行状态。 • Activity退居后台: 当前Activity转到新的Activity界面或按Home键回到主屏: onPause原创 2017-09-23 21:55:27 · 535 阅读 · 0 评论 -
Android之AIDL的全称是什么?如何工作?能处理哪些类型的数据?
AIDL的全称是什么?如何工作?能处理哪些类型的数据?AIDL全称Android Interface Definition Language(AndRoid接口描述语言)是一种借口描述语言; 编译器可以通过aidl文件生成一段代码,通过预先定义的接口达到两个进程内部通信进程跨界对象访问的目的.AIDL的IPC的机制和COM或CORBA类似, 是基于接口的,但它是轻量级的。它使用代理类在客户端和实现层原创 2017-09-28 22:11:43 · 1723 阅读 · 0 评论 -
Android 之Activity、Window、View之间的关系
一、概述 Activity 可以说是应用程序的载体(也可以理解为界面的载体,但是不界面),用户能够在上面绘制界面(Activity本身不绘制界面),并提供用户处理事件的API,维护应用程序的生命周期(Android应用程序是由多个 Activity 堆积而成,而各个 Activity 又有其独立的生命周期)。 Activity内部组合了一个Window(这是一个抽象类,具体是PhoneWind转载 2017-09-27 22:05:43 · 252 阅读 · 0 评论 -
Android之对JNI和NDK的理解
1.阐述你对JNI的理解 JNI的全称是Java Native Interface(Java本地接口)是一层接口,是用来沟通Java代码和C/C++代码的,是Java和C/C++之间的桥梁。通过JNI,Java可以完成对外部C/C++编写的库函数的调用,相对的,外部C/C++也能调用Java中封装好的类和方法。 Java的优点是跨平台,和操作系统之间的调用由JVM完成,但是一些和操作系统原创 2017-10-25 09:31:55 · 434 阅读 · 0 评论