java(android)知识梳理
森林屿麓
这个作者很懒,什么都没留下…
展开
-
Android——广播注册两种方式
两种注册类型的区别是: 1)第一种不是常驻型广播,也就是说广播跟随activity的生命周期。注意: 在activity结束前,移除广播接收器。 2)第二种是常驻型,也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行。在android下,要想接受广播信息,那么这个广播接收器就得我们自己来实现了,我们可以继承BroadcastReceive转载 2016-10-09 10:19:33 · 500 阅读 · 0 评论 -
Android——listview加载网络图片错位解决方法
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/45586553在Android所有系统自带的控件当中,ListView这个控件算是用法比较复杂的了,关键是用法复杂也就算了,它还经常会出现一些稀奇古怪的问题,让人非常头疼。比如说在ListView中加载图片,如果是同步加载图片倒还好,但是一旦使用异步加载图片那么问转载 2016-10-28 18:08:39 · 7075 阅读 · 2 评论 -
java基础——多线程
首先讲一下进程和线程的区别: 进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程。 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。 线程和进程一样分为五个阶段:创建、就绪、运行、阻塞、终止。 多进程是指操作系统能同时运行多个任务(程序)。 多转载 2016-10-06 18:30:46 · 197 阅读 · 0 评论 -
java基础——多线程——线程池
林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka 摘要: 本文主要讲了Java当中的线程池的使用方法、注意事项及其实现源码实现原理,并辅以实例加以说明,对加深Java线程池的理解有很大的帮助。 首先,讲讲什么是线程池?照笔者的简单理解,其实就是一组线程实时处理休眠状态,等待唤醒执行。那么为什么要转载 2016-10-07 12:01:49 · 399 阅读 · 0 评论 -
java基础——多线程——线程安全不安全
线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。 线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据===========================================================转载 2016-10-07 12:20:12 · 293 阅读 · 0 评论 -
java基础——多线程——线程停止
终止线程的三种方法 有三种方法可以使终止线程。 1. 使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。 2. 使用stop方法强行终止线程(这个方法不推荐使用,因为stop和suspend、resume一样,也可能发生不可预料的结果)。 3. 使用interrupt方法中断线程。 1. 使用退出标志终止线程转载 2016-10-07 13:25:43 · 441 阅读 · 0 评论 -
java基础——多线程——多线程面试题
在典型的Java面试中, 面试官会从线程的基本概念问起, 如:为什么你需要使用线程, 如何创建线程,用什么方式创建线程比较好(比如:继承thread类还是调用Runnable接口),然后逐渐问到并发问题像在Java并发编程的过程中遇到了什么挑战,Java内存模型,JDK1.5引入了哪些更高阶的并发工具,并发编程常用的设计模式,经典多线程问题如生产者消费者,哲学家就餐,读写器或者简单的有界缓冲区问题转载 2016-10-07 14:08:01 · 553 阅读 · 0 评论 -
java基础——注解
我们在使用Spring框架的时候,会经常使用类似:@Autowired 这样的注解。我们也可以自己定义一些注解。Java的注解主要在包:java.lang.annotation中实现。1. 元注解什么是元注解?你可以这样理解,元注解是自定义注解的注解。元注解主要包含4个。他们主要在java.lang.annotation中可以找到。我们自己要创建注解的时候必须要用到这些元注解。所以必须转载 2016-10-07 18:03:33 · 317 阅读 · 0 评论 -
java基础——反射
本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解。下面开始正文。【案例1】通过一个对象获得完整的包名和类名123456789101112131415package Reflect转载 2016-10-07 18:07:23 · 337 阅读 · 0 评论 -
Android—— onPause和onSaveInstanceState的区别
onPause在Activity部分不可见的时候被调用,onSaveInstanceState在需要空出内存给当前Activity的时候执行。onSaveInstanceState有时候在onPause()运行前调用,有时候不(Pre-HONEYCOMB 版本前可能先调用onSaveInstanceState,之后onPause先调用)。Android Activity的详细文档在这里。转载 2016-10-08 10:15:33 · 405 阅读 · 0 评论 -
Android——软引用引用
Java从JDK1.2版本开始,就把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。这里重点介绍一下软引用和弱引用。如果一个对象只具有软引用,那么如果内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的转载 2016-10-21 10:19:22 · 247 阅读 · 0 评论 -
Android——点击水纹效果
package com.whr.myapplication;import android.annotation.TargetApi;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;impor转载 2016-10-19 10:13:19 · 340 阅读 · 0 评论 -
java基础——强软弱虚引用
博客出自:http://blog.csdn.NET/liuxian131831、概述 在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及状态,程序才能使用它。这 就像在日常生活中,从商店购买了某样物品后,如果有用,就一直保留它,否则就把它扔到垃圾箱,由清洁工人收走。一般说来,如果物品已经转载 2016-10-06 14:54:21 · 286 阅读 · 0 评论 -
java基础——集合讲解
1) 首先查看jdk中Collection类的源码后会发现如下内容: 1234567<span style="font-size: 16px;"> ..."font-size: 16px;"> * @see AbstractCollection转载 2016-10-05 20:40:17 · 328 阅读 · 0 评论 -
Android——Activity、Service、Broadcast,超时时间报ANR
Activity----->5秒Broadcast----->10秒Service----->20秒会报ANR,都是在主线程中运行的原创 2016-10-09 11:08:32 · 9572 阅读 · 0 评论 -
Android——activity四种启动模式
launchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实例,是否重用已存在的Activity实例,是否和其他Activity实例公用一个task里。这里简单介绍一下task的概念,task是一个具有栈结构的对象,一个task可以管理多个Activity,启动一个应用,也就创建一个与之对应的task。Activity一共有以下四种lau转载 2016-10-09 11:30:45 · 252 阅读 · 0 评论 -
Android——屏幕匹配
一、支持各种屏幕尺寸1、 使用wrap_content、math_parent、weight2、尽量使用相对布局、禁用绝对布局3、使用最小宽度限定符根据情况加载不同xml 例如:res/layout/main.xml res/layout-large/main.xml二、支持各种屏幕密度1、把设备的的手机宽度像素平均分为320 高度分480份,以320*480为基原创 2016-10-09 17:10:16 · 361 阅读 · 0 评论 -
Android—— View事件分发机制的源码分析
1.前言记得以前在看stay的课程时他说过,如果你想学习一个新事物只需要三个W:Why、What、How,也就是:为什么?是什么?怎么做?当你搞懂这三个W之后,你对新事物必定会有一个透彻的了解。然而对大多数Student来说他们往往最有兴趣的是“How”也是他们最先接触的一个W,其次则是“What”,而“Why”往往会被选择性地忽略,这也是很多时候我们为什么无法将现有知识水平提升一个层次的转载 2016-10-10 14:23:42 · 348 阅读 · 0 评论 -
Android——view绘制原理
View的绘制原理1.前言View的绘制和View的事件分发是View的两个最为重要的知识点。 在上一篇中已经完整的分析过了View的事件分发机制,这一篇则是分析View的绘制原理。View的绘制原理是自定义View的基础知识,有了这个基础知识就可以写出五花八门的漂亮的自定义view了。2.View的绘制流程一个view要显示在界面上,需要经历一个view树的遍转载 2016-10-10 14:36:44 · 442 阅读 · 0 评论 -
Android—— Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38377229 ,本文出自【张鸿洋的博客】很多人面试肯定都被问到过,请问Android中的Looper , Handler , Message有什么关系?本篇博客目的首先为大家从源码角度介绍3者关系,然后给出一个容易记忆的结论。1、 概述Handler 、 Lo转载 2016-10-24 12:53:58 · 215 阅读 · 0 评论 -
Android——线程通信 HandlerThread
Android是基于Java的,所以也分主线程,子线程! 主线程:实现业务逻辑、UI绘制更新、各子线程串连,类似于将军; 子线程:完成耗时(联网取数据、SD卡数据加载、后台长时间运行)操作,类似于小兵; 一、子线程向主线程发消息(Thread+handler): 1、主线程中定义Handler: Java代码 Handler mHandler =转载 2016-10-16 13:08:56 · 224 阅读 · 0 评论 -
Android——volley源码分析
还是按照前边的顺序分析吧,使用Volley的第一步首先是通过Volley.newRequestQueue(context)得到RequestQueue队列,那么先看下toolbox下的Volley.java中的这个方法吧。/** * Creates a default instance of the worker pool and calls {@link RequestQueue#star转载 2016-10-17 09:05:20 · 206 阅读 · 0 评论 -
java基础——try catch final
结论:1、不管有木有出现异常,finally块中代码都会执行;2、当try和catch中有return时,finally仍然会执行;3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;4、finally转载 2016-10-05 19:07:49 · 396 阅读 · 0 评论 -
java基础——for 与foreach效率
直接for循环效率最高,其次是迭代器和 ForEach操作。 作为语法糖,其实 ForEach 编译成 字节码之后,使用的是迭代器实现的,反编译后,testForEach方法如下:public static void testForEach(List list) { for (Iterator iterator = list.iterator(); iterator.hasNext原创 2016-10-06 14:06:01 · 949 阅读 · 0 评论 -
java 验证字符串是否满足某种格式
/** * 判断字符串满足指定格式 true 合法 */ public static boolean checkValidity (String str, String regex) { Pattern p = Pattern.compile(regex); Matcher m = p.matcher(str); if (m.matches()) { return tr...原创 2018-10-17 17:21:58 · 9406 阅读 · 1 评论