自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 Anfroid性能优化之内存泄露篇

首先看看内存泄露与内存溢出的概念:1、内存泄漏:当出现对Activity、View或drawable等类的对象长期持有无用的引用,就会造成被引用的对象无法在GC时回收,而是长期占用堆空间,此时就会发生内存泄漏。简单来说,就是保留下来却永远不再使用的对象引用。2、内存溢出:如果应用程序在消耗光了所有的可用堆空间(16M到48M),那么再试图在堆上分配新对象时就会引

2016-08-02 22:59:43 588

原创 Android性能优化--手机篇

众所周知,一个好的产品,除了功能强大,好的性能也必不可少。有调查显示,近90%的受访者会因为APP性能差而卸载,性能也是造成APP用户沮丧的头号原因。那Android客户端性能的指标都有哪些?如何发现和定位客户端的性能问题?本文结合多个项目的开发实践,给出了要关注的重要指标项目,以及定位和解决性能问题的一般步骤。性能优化应该贯穿于功能开发的全部周期,而不是做完一次后面便不再关注。每

2016-08-02 22:16:09 3768

原创 EventBus 详细介绍

待更新

2016-04-26 15:28:46 359

原创 PopupWindow源码分析

说到弹窗,大家可能会立马想到diaolg,其实还有popupwindow,popupwindow是一种很重要的显示控件,这里首先介绍一下它与dialog的简单区别:1.PopWindow实质就是弹出式菜单,它不会使依赖的activity组件失去焦点,PopupWindow弹出后可以继续 与依赖的Activity进行交互,然而dialog却不行。2.Dialog在构造函数里面都会去新建win

2015-10-29 14:11:54 813 1

原创 Android Dialog中的Builder设计模式

1.Builder设计模式的定义Builder模式定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们。用户不知道内部的具体构建细节。Builder模式是非常类似抽象工厂模式,细微的区别大概只有在反复使用中才能体会到。2.使用Builde

2015-09-12 17:42:23 1832

转载 大神博客汇集

http://blog.csdn.net/innost

2015-08-13 08:36:33 433

转载 android 生命周期

在 Android 中,多数情况下每个程序都是在各自独立的 Linux 进程中运行的。当一个程序或其某些部分被请求时,它的进程就“出生”了;当这个程序没有必要再运行下去且系统需要回收这个进程的内存用于其他程序时,这个 进程就“死亡”了。可以看出,Android 程序的生命周期是由系统控制而非程序自身直接控制。这和我们编写桌面应用程序时的思维有一些不同,一个桌面应用程序的进程也是在其他进程或用户请求

2014-03-04 08:32:30 496

原创 java中的Bouncy Castle 平台轻量级密码术配置方法

Bouncy Castle 是一种用于 Java 平台的开放源码的轻量级密码术包。它支持大量的密码术算法,并提供 JCE 1.2.1 的实现。因为 Bouncy Castle 被设计成轻量级的,所以从 J2SE 1.4 到 J2ME(包括 MIDP)平台,它都可以运行。它是在 MIDP 上运行的唯一完整的密码术包。             Bouncy Castle的Java JC

2014-02-26 21:58:26 678

转载 android底层学习思路

Android与Linux的关系Linux Kernel的版权是GPL(General Public License),它要求对源代码的任何修改都必须开源。Android的Kernel采用的GPL,但Android采用ASL(Apache Software License),不必开源。Google特意修改了Kernel,将某些功能转移到上层HAL(Hardware Abstractio

2014-02-26 16:17:48 523

原创 android 中findViewById和inflate的使用区别

一般用LayoutInflater做一件事:inflateinflate这个方法总共有四种形式(见下面),目的都是把xml表述的layout转化为View对象。其中有一个比较常用,View inflate(int resource, ViewGroup root),另三个,其实目的和这个差不多。int resource,也就是resource/layout文件在R文件中对应的I

2014-02-25 08:38:48 972

原创 android中更新UI线程方法

方法一:(java习惯,在android不推荐使用)刚刚开始接触android线程编程的时候,习惯好像java一样,试图用下面的代码解决问题new Thread( new Runnable() {         public void run() {             myView.invalidate();         }            }).

2014-02-24 21:29:41 551

原创 深入理解数组,内存中的数组

数组引用变量只是一个引用,这个引用变量可以指向任何有效的内存,只有当引用指向有效内存之后才可以通过该数组变量来访问数组元素。与所有引用变量相同是,引用变量是访问真实对象的根本方式,也就是说,如果要在程序中访问数组对象本身,则只能通过这个数组的引用变量来访问它。实际的数组对象存在堆内存中;如果引用该数组对象的数组变量时一个局部变量,那么它被存放在栈内存中。

2014-02-24 21:20:52 471

原创 java中break和continue的使用与区别

1.break    在某些时候,我们需要在某种条件出现时强行终止循环,而不是等到循环条件为false时才退出循环,此时可以使用break来完成这个功能。break用于结束循环跳出循环体,继续执行循环体以后的代码。public class BreakTest { public static void main(String[] args) { for (int i = 0; i

2014-02-24 17:38:33 677

原创 android中使用上下文菜单ContextMenu (使用硬编码)

概念:上下文菜单就是当长按屏幕上某个试图元素时弹出的菜单框。上下文菜单继承了android.view.Menu,因此我们可以像操作Options Menu那样给上下文菜单增加菜单项。上下文菜单与Options Menu最大的不同在于,Options Menu的拥有者是Activity,而上下文菜单的拥有者是Activity中的View。每个Activity有且只有一个Opt

2014-02-21 17:47:56 513

原创 android中invalidate()的使用小结

invalidate()是用来刷新View的,必须是在UI线程中进行工作。比如在修改某个view的显示时,调用invalidate()才能看到重新绘制的界面。invalidate()的调用是把之前的旧的view从主UI线程队列中pop掉。 对于屏幕刷新有以下集中情况可以考虑: 1.不使用多线程和双缓冲      这种情况最简单了,一般只是希望在View发生改变时对UI进行重绘。你只

2014-02-20 11:35:13 6520

原创 关于android里面preference的使用

PerferenceActivity是什么,看下面的截图:           Android系统截图(左)                MusicPlayer Setting截图(右)         好了,我们看到Android系统本身就大量用到了PreferenceActivity来对系统进行信息配置和管理,那么它是怎么保存数据的呢,如何创建Prefence

2014-02-18 16:04:54 649

原创 android网络通信之获取网络图片

先大概浏览一下我们获取网络图片的实际需求当用户点击“获取图片”的时候就会进行一系列的操作,具体过程如下:1.取得与服务器的连接   URL url=new URL(urlpath);   HttpURLConnection conn=(HttpURLConnection) url.openConnection();//得到urlConnection对象   conn.set

2013-11-04 13:00:48 559

原创 关于surfaceview画背景格的几个问题

之前做了一个android的项目,现在说一下关于android画图的一些最基本的知识 1、定义可以直接从内存或者DMA等硬件接口取得图像数据,是个非常重要的绘图容器。它的特性是:可以在主线程之外的线程中向屏幕绘图上。这样可以避免画图任务繁重的时候造成主线程阻塞,从而提高了程序的反应速度。在游戏开发中多用到SurfaceView,游戏中的背景、人物、动画等等尽量在画布canvas中画

2013-11-04 09:17:54 735

原创 关于android几种常见的UI综合

本文主要将android常见的几种UI集中在一起,主要是加强对常用UI的使用,以一个登录界面为例说明如下:项目的布局文件如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"

2013-10-29 15:17:24 506

原创 基于蓝牙的车载OBD系统

本人做的一点小东西,自认为还有点用处,随便写点,希望做车载系统的同行有帮助,好了,废话也不多说了,直接进入主题吧。本项目主要功能是android智能设备开启蓝牙后自动搜索OBD的蓝牙设备,并且自动匹配,自动匹配很重要,因为有的android设备并没有屏幕。至于蓝牙怎么连接就多说了,看官方文档吧,这里主要给出主要解析ELM327模块数据的代码。  @Override pub

2013-10-25 18:24:28 2149 1

转载 关于netstat命令的用法--windows环境下

Netstat 用于显示与IP 、TCP 、UDP 和ICMP 协议相关的统计数据,一般用于检验本机各端口的网络连接情况。     如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,TCP/IP 可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP 数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用Netstat 查一查

2013-01-03 21:13:26 961

转载 关于网络编程书籍

UNIX Network Programming, Volume 2, Second Edition: Interprocess Communications, Prentice Hall, 1999.UNIX Network Programming, Volume 1, Second Edition: Networking APIs: Sockets and XTI, Prentic

2013-01-03 13:35:21 499

c++references.rar

这是c++学习的权威书籍,里面讲解的很详细,适合初学者学习

2012-12-20

空空如也

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

TA关注的人

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