
Android基础
JKerving
这个作者很懒,什么都没留下…
展开
-
我的第一篇博客
新开通的博客,新人学习Android,起点从这里开始,过程从这里记录,学习没有终点 “`原创 2015-09-01 11:08:11 · 341 阅读 · 0 评论 -
Volley源码解析(二)
上次分析了一下Volley的源码,今天又看了一遍Volley的源码,受益匪浅。上次分析的很不到位,Volley框架有很多需要学习的地方,光凭一篇blog肯定是分析不完的。更何况里面还有许多思想在里面需要我进行学习。首先回顾一下Request类,这是一个抽象类。Volley支持8种http请求方式:GET,POST,PUT,DELETE,HEAD,OPTIONS,TRACE,PATCH。 还可原创 2016-04-19 15:49:43 · 671 阅读 · 0 评论 -
Volley源码解析(一)
之前看过郭神的blog,今天也是着按照自己的思路走一遍Volley框架中关于Http请求的源码 首先还是引用一下郭神的图,清楚的阐述了当网络连接请求到来时的工作机制 缓存这个东西几乎是无处不在,无论我们从事的是什么计算机的方向,都对性能优化有着至关重要的作用。 可以看到架构图中,当request到来时,首先判断是否已经缓存过,如果没有直接加入network中,然后是一系列的http的解析等工作原创 2016-04-01 11:57:03 · 873 阅读 · 0 评论 -
Context作用、类型、使用建议
转自http://www.jianshu.com/p/2dfc592bcd1c什么是Context是一个访问系统资源和进行应用程序级操作的抽象接口,称为上下文如何使用Context创建新对象:new views,adapters,listenersTextView tv = new TextView(getContext());ListAdapter adapter = new SimpleC转载 2016-03-31 22:35:50 · 1320 阅读 · 0 评论 -
Dalvik与JVM的区别
今天面试被问到这个,没答上来很尴尬。。之前一直在针对android事件分发,View绘制,消息机制与图片缓存和Java基础知识,从面试中找到自己的不足。Dalvik支持的格式 它支持已转换为.dex(Dalvik Executable)格式的Java程序的运行,.dex是专门为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。(dx是一套工具,可以将Java .class转换为.d原创 2016-03-30 23:13:17 · 806 阅读 · 0 评论 -
Android基础--Android Loader详解
装载器从android3.0开始引进。它使得在activity或fragment中异步加载数据变得简单。装载器具有如下特性: 它们对每个Activity和Fragment都有效。 他们提供了异步加载数据的能力。 它们监视数据源的一将一动并在内容改变时传送新的结果。 当由于配置改变而被重新创建后,它们自动重连到上一个加载器的游标,所以不必重新查询数据。装载器API概述在使用装载器时,会涉及很多转载 2015-11-27 22:07:18 · 570 阅读 · 0 评论 -
Android基础--ConnectivityManager检查网络连接
PrimaryActivity.javaimport android.content.Context;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;im原创 2015-11-26 21:15:42 · 1075 阅读 · 0 评论 -
android-async-http框架库使用基础
android-async-http是专门针对Android在Apache的HttpClient基础上构建的异步http连接。所有的请求全在UI(主)线程之外执行, 而callback使用了Android的Handler发送消息机制在创建它的线程中执行。 类似Volley一样,使用一个优秀框架之前就是必须得先知道他的特性,如下就是android-async-http的特性:发送异步http请求,转载 2015-10-28 11:15:00 · 677 阅读 · 1 评论 -
Android Parcelable
android提供了一种新的类型:Parcel。本类被用作封装数据的容器,封装后的数据可以通过Intent或IPC传递。 除了基本类型以 外,只有实现了Parcelable接口的类才能被放入Parcel中。Parcelable实现要点:需要实现三个东西 1)writeToParcel 方法。该方法将类的数据写入外部提供的Parcel中.声明如下: writeToParcel (Parcel d原创 2015-09-22 22:41:17 · 547 阅读 · 0 评论 -
Android Volley完全解析(一),初识Volley的基本用法
转载自http://blog.youkuaiyun.com/guolin_blog/article/details/174820951.Volley简介我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient,几乎在任何项目的转载 2015-11-11 11:43:15 · 465 阅读 · 0 评论 -
OnGlobalLayoutListener获得一个视图的高度
当一个视图树的布局发生改变时,可以被ViewTreeObserver监听到, 这是一个注册监听视图树的观察者(observer),在视图树的全局事件改变时得到通知。ViewTreeObserver不能直接实例化,而是通过getViewTreeObserver()获得。转载 2015-09-21 11:54:42 · 493 阅读 · 0 评论 -
Android BaseAdapter
BaseAdapter是Android应用程序中经常用到的基础数据适配器,其主要用途为将一组数据传递到ListView,Spinner,GridView等UI组件。BaseAdapter对于前面提到的三个UI组件来说是万能的,ListView、Spinner、GridView各自都有自己的适配器,但是BaseAdapter对于它们是通用的。比如我们经常使用的ListView的SimpleAdapte原创 2015-09-18 21:59:16 · 880 阅读 · 0 评论 -
onSaveInstanceState和onRestoreInstanceState触发的时机
转自:http://blog.youkuaiyun.com/lccly/article/details/6089667onSaveInstanceState方法会在什么时候被执行,有这么几种情况: 1、当用户按下HOME键时。 这是显而易见的,系统不知道你按下HOME后要运行多少其他的程序,自然也不知道activity A是否会被销毁,故系统会调用onSaveInstanceState,让用户有机会保存某些转载 2015-10-01 22:27:31 · 474 阅读 · 0 评论 -
Fragment(一)
为什么会出现Fragment? 在Fragment出现之前,不仅Android手机已经普及,Android平板也多了起来。但是当开发App时,由于平板与手机之间的屏幕大小不同,会导致开发人员需要针对平板与手机开发两套App以适应其布局的不同。所以Fragment的出现就是为了解决这种问题,Fragment是一种可以嵌入在活动(Activity)当中的UI片段,一个Activity可以由多个不同的原创 2015-09-13 23:07:44 · 530 阅读 · 0 评论 -
Android ListView详解(二)
在ListView详解(一)中介绍了ListView的基本用法,重点是适配器的使用,通过适配器将要显示的数据传递给ListView中。上一个实例中只是使用最基本的ArrayAdapter,只能显示文字。下面我们将使用自定义适配器使得ListView的每个子项显示为图片与文字的组合。 ListView下的每一个子项均为一个对象实例,所以我们需要定义一个实体类作为适配器的适配类型。定义一个类Fruit原创 2015-09-06 13:48:12 · 447 阅读 · 0 评论 -
Android ListView详解(一)
ListView是最常用同时也是较为难用的控件,ListView中的每一个子项为一个Item,可以是字符串也可以是组合控件(图片与文字组合)。 要实现ListView,首先现在布局文件中定义ListView控件: activity_main.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"原创 2015-09-05 23:33:47 · 1107 阅读 · 0 评论 -
ListView性能优化
之前在详解中对于ListView的用法效率并不是最高的,因为在FruitAdapter的getView()方法中,每次当子项滑动到屏幕内时,都需要重新加载子项布局文件。同样,每当子项滑动到屏幕当中,每次都需要View的findViewById()方法来获取控件实例。解决每次均需要加载子项布局文件问题的方法 public View getView(int position,View convert原创 2015-09-10 23:08:06 · 496 阅读 · 0 评论 -
Intent的显式与隐式用法
首先简单介绍一下Intent的用途: Intent起到的是媒体中介的作用,也就是系统组件之间数据传递的数据负载者。当我们执行一种调用动作,我们就需要Intent来替我们向系统表达我们的意图。显式Intent 这里我们创建两个Activity,FirstActivity与SecondActivity FirstActivity的布局文件:activity_main.xml<Relat原创 2015-09-03 23:14:23 · 796 阅读 · 1 评论 -
Android内存优化-内存泄漏的几个场景以及解决方式
一.什么是内存泄漏在Java程序中,如果一个对象没有利用价值了,正常情况下gc是会对其进行回收的,但是此时仍然有其他引用指向这个活在堆内存中的对象,那么gc就不会认为这个对象是一个垃圾,那么就不会对其进行回收,所以它会一直活在堆内存中占用内存,这就导致了内存泄漏。总结一下,导致内存泄漏的原因就是有一些我们永远不会使用的对象,仍然有引用指向它(当然这是在强引用的情况下),那么就不满足gc回收转载 2016-08-20 01:14:59 · 3717 阅读 · 2 评论