自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 资源 (4)
  • 收藏
  • 关注

转载 Android Service 优先级避免被杀死或者杀死后如何再次重启

我们知道,当进程长期不活动时,如果系统资源吃紧,会杀死一些Service,或不可见的Activity等所在的进程。 如何避免Service被系统杀死,随便在网上搜一下,都能搜到好几种方法,但是每一种方法都有不同的适用环境。1. 添加android:persistent="true"添加android:persistent="true"到AndroidM,Google文档描述

2015-01-31 23:21:28 1556

转载 Android中Intent详解(二)之使用Intent广播事件及Broadcast Receiver简介

通过第一篇的讲解,我们已经看到了如何使用Intent来启动新的应用程序组件,但是实际上他们也可以使用sendBroadcast方法来在组件间匿名的广播消息。作为一个系统级别的消息传递机制,Intent可以在进程之间发送结构化的消息。因此,通过实现Broadcast Receiver来监听和响应应用程序内的这些Broadcast Intent。通过使用Intent来广播一个事件,可以

2015-01-31 23:14:20 677

转载 Local Broadcast Manager

Local Broadcast Manager(局部广播管理器)包含在Android Support Library中,用于简化注册Broadcast Intent,以及在应用程序内的组件之间发送Broadcast Intent的工作。因为局部广播的作用域要小一些,所以使用Local Broadcast Manager比发送全局广播更加高效。而且使用Local Broadcast Mana

2015-01-31 23:09:15 1240

转载 Android Broadcast 和 BroadcastReceiver的权限限制

在Android应用开发中,有时会遇到以下两种情况,1. 一些敏感的广播并不想让第三方的应用收到 ;2. 要限制自己的Receiver接收某广播来源,避免被恶意的同样的ACTION的广播所干扰。在这些场景下就需要用到广播的权限限制。第一种场景: 谁有权收我的广播?在这种情况下,可以在自己应用发广播时添加参数声明Receiver所需的权限。

2015-01-31 23:00:31 531

转载 Java Thread.join()详解

一、使用方式。join是Thread类的一个方法,启动线程后直接调用,例如:?1Thread t = newAThread(); t.start(); t.join();二、为什么要用join()方法在很多情况下,主线程生成并起动了子线程,如果子线程里要进行大量的耗时的运算,

2015-01-30 23:29:14 544

转载 Android4.0窗口机制和创建过程分析

一  前言在谈到这个话题的时候,脑海里面千头万绪,因为它涉及到了方方面面的知识… 比如Activity管理,窗口添加,Token权限验证等等…既然这么复杂,那么我们就复杂的问题简单化,可以分成下面几个步骤进行讲解。1.    Android里面窗口这个概念的分析。2.    Android里面窗口的类型3.    Android窗口功能相关的token值4. 

2015-01-30 18:57:01 341

转载 Android4.0窗口机制和创建过程分析

一  前言在谈到这个话题的时候,脑海里面千头万绪,因为它涉及到了方方面面的知识… 比如Activity管理,窗口添加,Token权限验证等等…既然这么复杂,那么我们就复杂的问题简单化,可以分成下面几个步骤进行讲解。1.    Android里面窗口这个概念的分析。2.    Android里面窗口的类型3.    Android窗口功能相关的token值4. 

2015-01-30 18:56:12 379

转载 Android应用程序窗口(Activity)的视图对象(View)的创建过程分析

从前文可知道,每一个Activity组件都有一个关联的Window对象,用来描述一个应用程序窗口。每一个应用程序窗口内部又包含有一个View对象,用来描述应用程序窗口的视图。应用程序窗口视图是真正用来实现UI内容和布局的,也就是说,每一个Activity组件的UI内容和布局都是通过与其所关联的一个Window对象的内部的一个View对象来实现的。在本文中,我们就详细分析应用程序窗口视图的创建过程。

2015-01-30 18:48:09 676

转载 Android4.0窗口机制和创建过程分析

一  前言在谈到这个话题的时候,脑海里面千头万绪,因为它涉及到了方方面面的知识… 比如Activity管理,窗口添加,Token权限验证等等…既然这么复杂,那么我们就复杂的问题简单化,可以分成下面几个步骤进行讲解。1.    Android里面窗口这个概念的分析。2.    Android里面窗口的类型3.    Android窗口功能相关的token值4. 

2015-01-30 18:46:36 375

转载 23种设计模式(3):抽象工厂模式

定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。类型:创建类模式类图:抽象工厂模式与工厂方法模式的区别        抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象。他与工厂方法模式的区别就在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对的多个产品等级结构。在编程中,通常一个产品结构,

2015-01-29 11:37:54 427

转载 Java:单例模式的七种写法

第一种(懒汉,线程不安全): 1 public class Singleton {   2     private static Singleton instance;   3     private Singleton (){}    4     public static Singleton getInstance() {   5     if (instance ==

2015-01-29 11:25:27 396

转载 Android应用性能优化之优化列表头像过度绘制[一]

操作的是否顺畅、卡顿,决定着整体的流畅程度。   事实上android跟iphone的差别,个人觉得很大程度上决定于流畅程度,无论是动画,还是列表滑动等相关操作,流畅与否,对于用户而言,虽然他们说不出来哪里不对,但是卡与不卡的反馈却是很直接的。  Google也设法想改变这局面。在4.0之后的应用(最低版本4.0)默认开启硬件加速,并且4.1新加了一个Project B

2015-01-28 23:31:26 547

转载 Android应用性能优化之分析工具[二]

Android应用性能优化之分析工具  上一次记录了解决过度绘制的过程,这一次,想先弄清个概念性的东西,就是如何判断顺不顺畅?  这东西其实最初我自己也觉得有点废话,用起来会卡就明显是不顺畅咯。  但这东西就跟我很想吐槽很多应用一样,明明那么卡还放出来一样的道理。理论永远是理论,实践才是第一生产力。   因为我自己的应用也能感觉到卡顿,现在回头分

2015-01-28 23:30:37 427

转载 Android性能优化典范

2015年伊始,Google发布了关于 Android性能优化典范的专题, 一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App。课程专题不仅仅介绍了Android系统中有关性能问题的底层工作原理,同时也介绍了如何通过工具来找出性能问题以及提升性能的建议。主要从三个 方面展开,Android的渲染机制,内存与GC,电量优化。下面是对这些问题和建议的总结梳理。

2015-01-28 23:27:17 418

转载 Android ActivityThread(主线程或UI线程)简介

1. ActivityThread功能    它管理应用进程的主线程的执行(相当于普通Java程序的main入口函数),并根据AMS的要求(通过IApplicationThread接口,AMS为Client、ActivityThread.ApplicationThread为Server)负责调度和执行activities、broadcasts和其它操作。    在Android系统

2015-01-28 23:09:33 619

转载 Android Activity.startActivity流程简介

1. 基本概念1.1 Instrumentation是什么?      顾名思义,仪器仪表,用于在应用程序中进行“测量”和“管理”工作。一个应用程序中只有一个Instrumentation实例对象,且每个Activity都有此对象的引用。Instrumentation将在任何应用程序运行前初始化,可以通过它监测系统与应用程序之间的所有交互,即类似于在系统与应用程序之间安装了个“窃听

2015-01-28 23:08:38 402

转载 Android 自定义View步骤

例子如下:Android 自定义View 密码框 例子 1 良好的自定义View易用,标准,开放。一个设计良好的自定义view和其他设计良好的类很像。封装了某个具有易用性接口的功能组合,这些功能能够有效地使用CPU和内存,并且十分开放的。但是,除了开始一个设计良好的类之外,一个自定义view应该:l 符合安卓标准l 提供能够在Android

2015-01-28 23:04:25 430

转载 Android View绘制流程

框架分析在之前的下拉刷新中,小结过触屏消息先到WindowManagerService(Wms)然后顺次传递给ViewRoot(派生自Handler),经decor view到Activity再传递给指定的View,这次整理View的绘制流程,通过源码可知,这个过程应该没有涉及到IPC(或者我没有发现),需要绘制时在UI线程中通过ViewRoot发送一个异步请求消息,然后ViewRoot自

2015-01-28 22:54:25 311

转载 Activity启动及窗口创建过程详解

有这么一个网站,能通过web方式查看Android源码.在你需要的时候,本地又没有源码的时候,通过这个网站可以很方便的查看到源码网站地址:http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.android/android1. 应用的入口。  以前一直都说Activity的

2015-01-27 19:08:00 550

转载 Android Activity学习笔记——Activity的启动和创建

最近学习Android相关知识,感觉仅仅了解Activity几个生命周期函数基本上没有任何意义的;于是想深入了解一下Activity到底是怎么一回事怎么运行来的;里面的东东真是叫个庞大;现在只能简单的了解其框架性的概念和流程;一 Activity概念  Android的核心不是Application而是Activity,至少在我们开发的时候是这样的;  Activity就是被用

2015-01-27 18:17:57 437

转载 层次遍历二叉树-三种不同的方法

给定一棵二叉树,要求进行分层遍历,每层的节点值单独打印一行,下图给出事例结构:对此二叉树遍历的结果应该是:1,2 , 34, 5, 67, 8第一种方法,就是利用递归的方法,按层进行打印,我们把根节点当做第0层,之后层次依次增加,如果我们想打印第二层怎么办呢,利用递归的代码如下:[cpp] view plain

2015-01-26 22:05:05 669

转载 Android 5.0 API新增和改进

API 级别:21Android 5.0 (LOLLIPOP) 为用户和应用开发者提供了新的功能。本文档介绍了最值得注意的新 API。有关新平台功能的扼要介绍,另请参阅 Android Lollipop 集锦。开始开发要构建 Android 5.0 版应用,您必须先下载 Android SDK,然后使用 SDK 管理器下载 Android 5.0 SDK 平台和

2015-01-26 18:43:25 908

转载 六款值得推荐的android(安卓)开源框架简介

1、volley 项目地址 https://github.com/smanikandan14/Volley-demo (1)  JSON,图像等的异步下载; (2)  网络请求的排序(scheduling) (3)  网络请求的优先级处理 (4)  缓存 (5)  多级别取消请求 (6)  和Activity和生命周期的联动(Activity结束时同时取消所有网络请

2015-01-25 21:12:09 440

转载 java Socket(阻塞) api记录点

参考资料:          《Java TCP/IP Socket 编程》 2ed 记录点:      1  accept(),read()和receive()       对于这些方法,我们可以使用Socket类、ServerSocket类和DatagramSocket类的setSoTimeout()方法,设置其阻塞的最长时间(以毫秒为单位)。如果在

2015-01-25 17:54:02 918

转载 android中mainifest的一些属性

android:allowTaskReparenting     用法     是否允许activity更换从属的任务,比如从短信息任务 切换到浏览器任务。用来标记Activity能否从启动的Task移动到有着affinity的Task(当这个Task进入到前台时)—— “true”,表示能移动,“false”,表示它必须呆在启动时呆在的那个Task里。     如果这个特性没

2015-01-25 16:01:20 528

转载 为什么ConcurrentHashMap是弱一致的

本文将用到Java内存模型的happens-before偏序关系(下文将简称为hb)以及ConcurrentHashMap的底层模型相关的知识。happens-before相关内容参见:JLS §17.4.5. Happens-before Order、深入理解Java内存模型以及Happens before;ConcurrentHashMap的详细介绍以及底层原理见深入分析Concurr

2015-01-21 21:30:24 385

转载 探索 ConcurrentHashMap 高并发性的实现机制

简介ConcurrentHashMap 是 util.concurrent 包的重要成员。本文将结合 Java 内存模型,分析 JDK 源代码,探索 ConcurrentHashMap 高并发的具体实现机制。由于 ConcurrentHashMap 的源代码实现依赖于 Java 内存模型,所以阅读本文需要读者了解 Java 内存模型。同时,ConcurrentHashMap 的源代

2015-01-21 21:26:47 395

转载 ConcurrentHashMap

曾经研究过jkd1.5新特性,其中ConcurrentHashMap就是其中之一,其特点:效率比Hashtable高,并发性比hashmap好。结合了两者的特点。    集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并

2015-01-21 21:21:28 365

转载 HashMap的原理及遍历

【遍历方法一】[java] view plaincopyfor(Map.Entry entry : hashmap.entrySet()){     System.out.println("Key="+entry.getKey()+"---->value="+entry.getValue().toString())  }  

2015-01-21 21:18:24 495

转载 [Solr实践]Solr Cache使用介绍及分析

本文将介绍Solr查询中涉及到的Cache使用及相关的实现。Solr查询的核心类就是SolrIndexSearcher,每个core通常在同一时刻只由当前的SolrIndexSearcher供上层的handler使用(当切换SolrIndexSearcher时可能会有两个同时提供服务),而Solr的各种Cache是依附于SolrIndexSearcher的,SolrIndexSearcher在则C

2015-01-15 21:27:35 553

转载 ListView回收机制相关分析

所用源码版本为最新的Android 4.4.2(API 19)。更新中…… ListView回收机制相关分析    11.    ListView结构关系    12.    RecycleBin类解析    32.1 RecycleBin变量    42.2 RecycleBin方法    43.    RecycleBin的调用和

2015-01-15 21:26:11 607

转载 LRUCache和FastLRUCache实现分析

1、LRUCache的实现分析在分析LRUCache前先对LinkedHashMap做些介绍。LinkedHashMap继承于HashMap,它使用了一个双向链表来存储Map中的Entry顺序关系,这种顺序有两种,一种是LRU顺序,一种是插入顺序,这可以由其构造函数public LinkedHashMap(int initialCapacity,float loadFactor, bool

2015-01-15 21:24:21 429

转载 Android开发:性能最佳实践-管理应用内存

翻自:http://developer.android.com/training/articles/memory.html在任何软件开发环境中,RAM都是宝贵的资源,但在移动操作系统中更加珍贵。尽管Dalvik虚拟机有垃圾回收机制,也不要忽略分配和释放内存。为了让GC回收内存,你要避免内存泄漏(通常因为全局成员变量引用对象引起),并且在适当的时候释放对象引用。对大多数app来说,垃圾回收负

2015-01-15 19:32:12 502

转载 java1.5新特性 ConcurrentHashMap、Collections.synchronizedMap、Hashtable讨论

在Java类库中出现的第一个关联的集合类是Hashtable,它是JDK1.0的一部分。Hashtable提供了一种易于使用的、线程安全的、关联的map功能,这当然也是方便的。然而,线程安全性是凭代价换来的――Hashtable的所有方法都是同步的。此时,无竞争的同步会导致可观的性能代价。Hashtable的后继者HashMap是作为JDK1.2中的集合框架的一部分出现的,

2015-01-15 17:03:29 378

转载 理解LinkedHashMap

1. LinkedHashMap概述:LinkedHashMap是HashMap的一个子类,它保留插入的顺序,如果需要输出的顺序和输入时的相同,那么就选用LinkedHashMap。   LinkedHashMap是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不

2015-01-15 16:17:08 526

原创 请用setBackgroundDrawable()代替setBackgroundResource()

在onDestroy中会用 ((BitmapDrawable)mBtn.getBackground()).setCallback(null)清理背景图。按道理来说图片资源应 该已经清理掉了的。仔细看Bitmap的源代码,它其实起的作用是销毁java对象BitmapDrawable,而android为了提高效率,Bitmap真正的位图数据是在ndk中用c写的,所以用setCallback是不能销毁位

2015-01-15 14:44:54 3877

转载 Android4.0中DiskLruCache和LruCache

Android应用开发之利用好图片缓存Android Developer:  在用户界面(UI)加载一张图片时很简单,然而,如果你需要加载多张较大的图像,事情就会变得更加复杂,。在许多情况下(如与像的ListView GridView或ViewPager的组件),屏幕上的图片的总数伴随屏幕上滚动的骤然增加,且基本上是无限的。为使内存使用保持在稳定范围内,这些组件会在

2015-01-15 14:33:53 534

转载 Android onTouch 执行过程 和onClick 发生冲突的解决办法

今天在做项目的时候遇到一个问题,就是怎么让ListView中的item点击后其内部的内容跟着变色,比如现在我的item布局中有一个TextView,现在点击item的时候,让其背景色发生改变,这个我们可以为item布局背景定义一个selctor.xml就可以了,但是现在的问题是item内容布局中的TextView中的内容也要跟着变色,这个立马想到了触摸监听器onTouch方法,只需要在ACTION

2015-01-14 21:10:21 2908

转载 Android中父View和子view的点击事件的执行过程

Android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件,有必要对它进行深入的了解。 一个最简单的屏幕触摸动作触发了一系列Touch事件:ACTION_DOWN->ACTION_MOVE->ACTION_MOVE->ACTION_MOVE...->ACTION_MOVE->ACTION_UP当屏幕中包含一个ViewGroup,而这个ViewGroup

2015-01-14 21:08:12 387

转载 Android View的onTouchEvent和OnTouch区别

还是以自定义的TestButton为例。我们可以通过重写onTouchEvent方法来处理诸如down move up的消息:[java] view plaincopyprint?public class TestButton extends Button {        public TestButton(Context 

2015-01-14 20:48:50 517

PhoneGap架构基础及工作原理调研报告

全面而详细的介绍了移动互联网时代用于开发跨平台移动应用程序的成熟框架,该项目由apache维护,只需写一次代码,就能在7个平台上同时运行所写应用程序。

2012-08-26

android https双向通信验证调研报告

全面详细介绍了https 双向 通信 安全验证原理以及在android系统上的实现。

2012-08-26

Oracle合作大学官方培训教材

想学好Oracle的,有这份资料足够啦。听我老师说只有Oracle合作大学才有这些材料。好好珍惜吧

2009-10-09

钱能 C++第二版 第六章性能 课后答案

钱能第二版C++程序设计教程 课后答案答案 今年8月与读者见面

2009-07-12

空空如也

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

TA关注的人

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