- 博客(188)
- 收藏
- 关注
原创 Activity启动创建 (AcitivtyManageService,ActivityThread,Activity)
Activity框架和管理结构Activity管理的核心是AcitivityManagerService,是一个独立的进程;ActiveThread是每一个应用程序所在进程的主线程,循环的消息处理;ActiveThread与AcitivityManagerService的通信是属于进程间通信,使用binder机制一个应用程序中所有Activity只有一个ActivityThread属于一个Pro...
2016-08-17 19:22:15 195
原创 LinearLayout布局中Layout_weight的深刻理解
首先看一下LinearLayout布局中Layout_weight属性的作用:它是用来分配属于空间的一个属性,你可以设置他的权重。很多人不知道剩余空间是个什么概念,下面我先来说说剩余空间。看下面代码:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://sch...
2016-08-15 14:39:30 141
原创 内存分析工具 MAT 的使用
1 内存泄漏的排查方法 Dalvik Debug Monitor Server (DDMS) 是 ADT插件的一部分,其中有两项功能可用于内存检查 :· heap 查看堆的分配情况· allocation tracker跟踪内存分配情况DDMS 这两项功能有助于找到内存泄漏的操作行为。Eclipse Memory Analysis Tools ...
2016-08-13 15:15:47 211
原创 Android Volley完全解析(三),定制自己的Request
1. 自定义XMLRequest下面我们准备自定义一个XMLRequest,用于请求一条XML格式的数据。那么该从哪里开始入手呢?额,好像是有些无从下手。遇到这种情况,我们应该去参考一下Volley的源码,看一看StringRequest是怎么实现的,然后就可以模仿着写出XMLRequest了。首先看下StringRequest的源码,如下所示:[java] view plai...
2016-08-10 19:44:47 115
原创 Android照片墙应用实现,再多的图片也不怕崩溃
照片墙这种功能现在应该算是挺常见了,在很多应用中你都可以经常看到照片墙的身影。它的设计思路其实也非常简单,用一个GridView控件当作“墙”,然后随着GridView的滚动将一张张照片贴在“墙”上,这些照片可以是手机本地中存储的,也可以是从网上下载的。制作类似于这种的功能的应用,有一个非常重要的问题需要考虑,就是图片资源何时应该释放。因为随着GridView的滚动,加载的图片可能会越来越多,如...
2016-08-10 19:35:59 170
原创 Android高效加载大图、多图解决方案,有效避免程序OOM
高效加载大图片我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状、不同的大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小。比如说系统图片库里展示的图片大都是用手机摄像头拍出来的,这些图片的分辨率会比我们手机屏幕的分辨率高得多。大家应该知道,我们编写的应用程序都是有一定内存限制的,程序占用了过高的内存就容易出现OOM(OutOfMemory)异常。我们...
2016-08-10 19:34:55 112
原创 Android Volley完全解析(二),使用Volley加载网络图片
在上篇文章中有提到过,Volley是将AsyncHttpClient和Universal-Image-Loader的优点集成于一身的一个框架。我们都知道,Universal-Image-Loader具备非常强大的加载网络图片的功能,而使用Volley,我们也可以实现基本类似的效果,并且在性能上也豪不逊色于Universal-Image-Loader,下面我们就来具体学习一下吧。1. Ima...
2016-08-10 19:13:35 86
原创 Android Volley完全解析(一),初识Volley的基本用法
1. Volley简介我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient,几乎在任何项目的代码中我们都能看到这两个类的身影,使用率非常高。不过HttpURLConnection和HttpClien...
2016-08-10 19:06:14 84
原创 Android性能调优
一、性能瓶颈点整个页面主要由6个Page的ViewPager,每个Page为一个GridView,GridView一屏大概显示4*4的item信息(本文最后有附图)。由于网络数据获取较多且随时需要保持页面内app下载进度及状态,所以出现以下性能问题a. ViewPager左右滑动明显卡顿b. GridView上下滚动明显卡顿c. 其他Activity返回ViewPager...
2016-08-09 16:46:03 153
原创 Android 布局优化
在开发过程中我们经常说性能优化,但性能优化是一个比较宽泛的概念。在Android开发中性能优化可能包括:Java代码优化, 算法优化, SQLite优化, 布局优化等。那么这篇博客就来总结并分享下Android开发中的布局优化。布局原则在Android UI布局过程中,通过遵守一些惯用、有效的布局原则,我们可以制作出高效且复用性高的UI,概括来说包括如下几点:尽量多使用Rela...
2016-08-08 19:34:27 86
原创 Android Service完全解析
Service的基本用法关于Service最基本的用法自然就是如何启动一个Service了,启动Service的方法和启动Activity很类似,都需要借助Intent来实现,下面我们就通过一个具体的例子来看一下。新建一个Android项目,项目名就叫ServiceTest,这里我选择使用4.0的API。然后新建一个MyService继承自Service,并重写父类的onCreate...
2016-08-08 19:26:24 78
原创 Android Fragment完全解析
我们都知道,Android上的界面展示都是通过Activity实现的,Activity实在是太常用了,我相信大家都已经非常熟悉了,这里就不再赘述。但是Activity也有它的局限性,同样的界面在手机上显示可能很好看,在平板上就未必了,因为平板的屏幕非常大,手机的界面放在平板上可能会有过分被拉长、控件间距过大等情况。这个时候更好的体验效果是在Activity中嵌入"小Activity",然后每...
2016-08-08 15:31:10 106
原创 ListView的基本使用与优化
今天给大家带来《android应用开发全程实录》中关于listview和adatper中的部分。包括listview的基本使用,listview的优化等。我们经常会在应用程序中使用列表的形式来展现一些内容,所以学好ListView是非常必需的。ListView也是Android中比较难以使用的控件,这节内容就将详细解读ListView的用法。一个ListView通常有两个职责。(1)...
2016-08-05 17:22:10 88
原创 Activity生命周期(图文)
大家好,今天给大家详解一下Android中Activity的生命周期,我在前面也曾经讲过这方面的内容,但是像网上大多数文章一样,基本都是翻译Android API,过于笼统,相信大家看了,会有一点点的帮助 ,但是还不能完全吃透,所以我今天特意在重新总结一下.首先看一下Android api中所提供的Activity生命周期图(不明白的,可以看完整篇文章,在回头看一下这个图,你会明白的):...
2016-08-05 17:13:19 89
原创 Android 屏幕适配
众所周知,Android机型尺寸各种各样,于是屏幕适配就成了Android开发中很重要的一环。Android屏幕适配可能一些开发者都会遇到这样的问题,今天就来分享下屏幕适配,你会发现其实Android屏幕适配也可以很简单。基本概念Android屏幕适配必须要理解的一些概念,这部分可能比较枯燥,但是俗话说的好“工欲善其事,必先利器”,翻译过来就是“有什么样的枪,决定你打什么样的鸟”,一旦这...
2016-08-05 17:02:52 95
原创 内存-寄存器-CPU
。CPU不就是我们的皇帝同志么?大臣就相当于我们的内存,数据从他这拿出来。那小太监就是我们的寄存器了(这里先不考虑 CPU的高速缓存区) 。数据从内存里拿出来先放到寄存器,然后CPU 再从寄存器里读取数据来处理,处理完后同样把数据通过寄存器存放到内存里,CPU 不直接和内存打交道。这里要说明的一点是:小太监是主动的从大臣手里接过奏章,然后主动的交给皇帝同志,但寄存器没这么自觉,
2014-03-26 15:11:39 430
原创 资源与效率:Java线程池
一、前言 在软件开发过程中,总会遇到一些瓶颈。开发效率瓶颈,人员技术瓶颈,运行效率瓶颈,服务器瓶颈,磁盘IO瓶颈,CPU、内存瓶颈。这些都限制了我们的软件无法尽善尽美。我们的目的就是为了克服和改善这些难题,使软件比想象中更完美。 二、具体问题 在数据库或者是流程工作时,很多操作都是由于最初软件设计的原因,或者是当初一些产品设计的原因,或者因为时间紧迫,或者逼不得已必须如此做...
2011-10-25 16:41:10 93
原创 并发处理
public static void main(String[] args){ if (args.length != 2) { System.out.println("Usage: java AutoLocationMain spring.xml autoLocation.conf"); return; } String springXmlfile = args[...
2011-08-10 16:27:58 90
原创 JAVA 多线程
package com.listong.mobile;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;import java.util.HashMap;public class MobileGprsServer { public static HashM...
2011-04-22 17:20:20 88
原创 dtree的一个简单的POJO树
<script type="text/javascript"> var deptTree = new dTree('deptTree','<%=request.getContextPath()%>/js/dtree/images/system/dept/'); deptTree.config.folderLinks=false; deptTree.c...
2011-04-06 15:24:28 72
原创 JS处理键盘事件
function login(){ var loginForm = document.forms[0]; loginForm.submit(); //window.location="main.html"}document.onkeydown = function(event){ var ev= (window.event)? window.event: event;...
2011-04-01 14:24:54 77
原创 根据List生成XML利用HttpClient发送给MPC
此程序是根据一个List,然后生成一个XML的文件,然后再使用HttpClient发送给相应的URL进行处理(这里的XML的文件可以保存在自己的项目的一个文件中)@Override public void locationEvent(LocationEvent locationEvent) { // TODO Auto-generated method stub List li...
2011-03-28 17:01:00 139
原创 使用OpenLayers在google地图上画轨迹
<link href="<%=request.getContextPath()%>/css/default.css" rel="stylesheet" type="text/css"> <link rel="stylesheet" type="text/css" href="<%=request.ge
2011-03-24 10:15:31 516
原创 自定义监听器监听数据库中数据的变化
此程序只是一个简单的例子,主要监听数据库中Location的数据。先写一个Event继承EventObjectpackage com.lbx.listong.servlet;import java.util.EventObject;public class LocationEvent extends EventObject { private static fin...
2011-03-22 15:14:53 381
原创 dtree的使用
解压缩dtree.zip 包。 dtree目录下包括这些文件:example01.html 、 dtree.js 、 api.html 、 dtree.css 和img目录 注意:除了api.html之外,其它的文件都是必须拷贝的。api.html是dtree的函数介绍。 打开example01.html文件 <link rel="StyleSheet" href...
2011-02-28 10:45:38 77
原创 后台启动一个进程(报警)
当点击启动的时候,会调用后台的代码(当然会传一个参数过去)public String start() { String appName=(String)paramMap.get("appName"); if (appName!=null){ String masHome=System.getenv("ADS_HOME"); String appC...
2011-02-24 11:38:07 253
原创 JS要来自动判断密码的安全强度
先看效果 代码<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName...
2011-02-24 10:50:32 199
原创 JS的一个时间段的特效
先看效果 看代码<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerNa...
2011-02-24 10:25:14 150
原创 OpenLayers的使用(google地图)
要使用google地图,先要获得google的密钥,可以使用了之后,我们就可以通过OpenLayers来操作,对google地图进行布局,增加事件什么的。下面就是一个简单的例子,类似定位。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"...
2011-02-23 15:13:37 152
原创 java读取环境变量
读取环境变量时可以使用 System.getProperty 或 System.getenv 方法。 System.getProperty 方法( JDK1.4 )用来读取针对 JVM 的属性,如程序当前的运行路径、路径分隔符、 Java 版本等, ( 见 System.getProperty() 参数大全 ) ,它也可以读取在运行程序时设置的自定义属性。 * 获取一个JVM已定义属性 //获取系...
2011-02-18 11:51:10 254
原创 Java Timer定制每天特定时间执行任务
package com.lbx.email;import java.util.Calendar;import java.util.Date;import java.util.Timer;import java.util.TimerTask;public class Test3 { static int count = 0; public static v...
2011-02-18 11:45:17 321
原创 Java固定时间间隔执行
package com.lbx.email;import java.util.Timer;import java.util.TimerTask;public class Test2 { private final Timer timer = new Timer(); private final int minutes; public Test2(int minu...
2011-02-18 11:33:02 356
原创 Ant
Ant基础 Make命令是一个项目管理工具,而Ant所实现功能与此类似。像make,gnumake和nmake这些编译工具都有一定的缺陷,但是Ant却克服了这些工具的缺陷。最初Ant开发者在开发跨平台的应用时,用样也是基于这些缺陷对Ant做了更好的设计。 Ant 与 makefile Makefile有一些不足之处,比如很多人都会碰到的烦人的Tab问题。最初的Ant开发者多次强调”只...
2011-02-18 11:26:53 104
原创 虚拟机下装Linux系统(JDK,MYSQL,TOMCAT)
一, 安装VMware Workstation,去下载vmware-workstation-6.5.0-118166.exe,要注册码,也可以汉化 二, 在VMware Workstation可视化视图界面中新建一个虚拟机,使用标准版的,然后选linux系统,系统可以从光驱中获得,然后设置一些相应的属性什么的。这样linux系统就装上去了,然后就可以在上面装一些东西。 三,...
2011-01-20 17:29:15 145
原创 Tomcat6优化
Tomcat6优化 一, 安全性: 为了提高安全性,一般情况下要屏蔽AJP,可以选择注释或删除server.xml中的Connector节点 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 二, HTTP优化配置:name: 线程池的名字,要唯一...
2010-12-24 16:32:32 79
原创 Hibernate查询优化
查询性能优化 Hibernate可从下面几个方面来优化查询性能: 1. 降低访问数据库的频率,减少select语句的数量使用迫切左外连接或迫切内连接检索策略对延迟检索或立即检索策略设置批量检索数目使用查询缓存 2. 避免加载程序不需要的访问数据使用延迟检索策略使用集合过滤,过滤重复的数据 ...
2010-12-24 14:12:01 103
原创 Hibernate检索策略
Hibernate检索策略简介类级别检索策略:Session的load()和get()方法,以及Query的HQL语句直接指定检索的是Customer对象,对Customer对象到底才用是立即检索还是延迟检索。 默认是延迟检索,影响的只是load()方法。 关联级别检索策略:对与Customer关联的Order对象,即Customer对象的o...
2010-12-22 19:03:49 70
原创 PL/SQL学习四存储过程
存储过程定义: 就是一个带名字PL/SQL块语法:create [or replace] procedure procedure_name is variable declaration;begin statement;[exception] statement;end; 存储过程的执行:使用命令exec procedure_name,...
2010-12-21 21:56:59 83
原创 PL/SQL学习三
游标的使用:n 作用:q 我们的select语句的结果集中只能有一条记录,这给程序带来了很大的限制,比如说,我们现在想把emp表中的每一条记录,按照一些复杂的逻辑取出来进行显示或更新,这个时候需要某种机制在表中的多条记录之间进行循环,这种机制就是游标。游标就是指在某个结果集上的指针,通过这个指针的移动,我们得以遍历整个结果集,这样我们就可以一次取出多条记录,然后按照程序的逻辑一条一...
2010-12-21 21:38:44 74
原创 PL/SQL学习二
PL/SQL中异常的处理DECLARE …;BEGIN …;EXCEPTION WHEN 异常情况1 [OR 异常情况2…] THEN …; WHEN异常情况3 [OR 异常情况4…] THEN …; WHEN OTHERS THEN …;END; DECLARETMP_NAME VARCHAR(10);BEGIN...
2010-12-21 21:35:05 75
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人