自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(86)
  • 收藏
  • 关注

原创 抽象类CountDownTimer使用

最近在项目中需要在TextView中显示一个倒计时的功能,主要用到CountDownTimer抽象类。使用该类需要给定两个时间,构造方法为:public CountDownTimer(long millisInFuture, long countDownInterval){}millisInFuture:该变量表示从调用start()方法开始,到onFinish()方法被回调共倒计时多

2015-11-30 21:42:04 252

原创 像素与分辨率

可以通过DisplayMetrics类来获得手机屏幕的宽度、高度、密度等,代码如下:DisplayMetrics metric = new DisplayMetrics();getActivity().getWindowManager().getDefaultDisplay().getMetrics(metric);int width = metric.widthPixels; // 屏幕

2015-11-30 20:20:03 427

转载 android 混淆jar及apk的心得

Android代码混淆,如何过滤掉反射的R文件及第三方包?解决方案:在Proguard.cfg方件中添加以下设定:过滤R文件的混淆:-keep class **.R$* {   *;  }过滤第三方包的混淆:-keep class packagename.** {*;}(其中packagename为第三方包的包名)Android导入第三方

2013-05-13 19:08:54 1135 1

转载 eclipse各种常用插件在线安装 .

一,反编译插件:A、Jadclipse1、打开eclipse增加站点:http://jadclipse.sf.net/update,在线安装好JDT Decompiler 3.4.02、http://nchc.dl.sourceforge.net/sourceforge/jadclipse/net.sf.jadclipse_3.3.0.jar将            jad

2013-03-27 11:31:34 451

转载 Android View绘制流程

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

2013-03-22 11:29:59 656

转载 Android内存泄露

不少人认为JAVA程序,因为有垃圾回收机制,应该没有内存泄露。其实如果我们一个程序中,已经不再使用某个对象,但是因为仍然有引用指向它,垃圾回收器就无法回收它,当然该对象占用的内存就无法被使用,这就造成了内存泄露。如果我们的java运行很久,而这种内存泄露不断的发生,最后就没内存可用了。当然java的,内存泄漏和C/C++是不一样的。如果java程序完全结束后,它所有的对象就都不可达了,系统就可以对

2013-03-15 10:09:57 932

转载 为了性能需做的事情

由于编程经验不多,所以个人觉得别人的总结有道理的咱接受,无道理的咱不接受。开源中国社区原文链接:http://my.oschina.net/u/988818/blog/1090291.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: • 控制资源的使用,通过线程同步

2013-03-15 10:07:08 454

转载 Android Memory Management

本文整理自Google I/O 2011: Memory management for Android Apps的演讲,需自行到墙外查看。从早期G1的192MB RAM开始,到现在动辄1G -2G RAM的设备,为单个App分配的内存从16MB到48MB甚至更多,但OOM从不曾离我们远去。这是因为大部分App中图片内容占据了50%甚至75%以上,而App内容的极大丰富,所需的图片越来越

2013-03-15 10:02:43 459

转载 对Scroller中的startScroll方法的理解 .

API如下:public void startScroll (int startX, int startY, int dx, int dy)  以提供的起始点和将要滑动的距离开始滚动。滚动会使用缺省值250ms作为持续时间。      参数          startX 水平方向滚动的偏移值,以像素为单位。正值表明滚动将向左滚动  startY 垂直方向滚

2013-03-13 11:10:46 7749

转载 App自动更新之通知栏下载

1.设计思路,使用VersionCode定义为版本升级参数。  android为我们定义版本提供了2个属性:?1234manifestpackage="com.cnblogs.tianxia.subway"      android:versionCode="1"      android:versionName=

2013-03-11 11:14:46 543

转载 如何在Root的手机上开启ViewServer,使得HierachyViewer能够连接

前期准备:关于什么是Hierarchy Viewer,请查看官方文档:http://developer.android.com/tools/debugging/debugging-ui.html。个人理解:Hierarchy Viewer能获得当前手机实时的UI信息,给界面设计人员和自动化测试人员带来极大的便利。在Android的官方文档中提到:To preserve se

2013-03-11 11:12:07 4001

转载 代码阅读分析工具Understand 2.0试用 .

Understand 2.0是一款源代码阅读分析软件,功能强大。试用过一段时间后,感觉相当不错,确实可以大大提高代码阅读效率。由于Understand功能十分强大,本文不可能详尽地介绍它的所有功能,所以只列举本人认为比较重要或有特色的功能,以做抛砖引玉之举。Understand 2.0可以从http://www.scitools.com/下载到,安装后可以试用15天。使用Understan

2013-03-05 18:32:07 1456

原创 解决svn: Aborting commit:“XXXX”,remains in conflict

右击工程目录–>team–>Show Tree Conflict–>在Eclpise中会出现一个Tab视图显示Tree Conflict的内容,一个一个选择列表中的冲突右击将其标志为已解决,然后回到项目再提交更改

2013-02-26 18:02:32 519

转载 andorid我们该如何管理你的内存?

最近在网上搜索到tankaixiong兄的一篇博客,讲述了在android中对其内存管理方面的心得,特转载过来,以期能让更多的朋友看到。再次感谢tankaixiong.———————————————————————————-andorid 我们如何管理你的内存?tank前面做项目时遇到了一个错误:java.lang.OutOfMemoryError我当时就没有花很多时间去处理内

2013-02-25 10:43:06 303

转载 解决Android解析图片的OOM问题!!!

声明:eoe文章著作权属于作者,受法律保护,转载时请务必以超链接形式附带如下信息原文作者: Android_Tutor原文地址: http://my.eoe.cn/androidtutor/archive/927.html  解决解析图片的出现oom的问题,我们可以用BitmapFactory这里的各种Decode方法,如果图片很小的话,不会出现oom,但是当图片很大的

2013-02-25 10:29:28 429

转载 Listview异步加载图片之优化篇

在APP应用中,listview的异步加载图片方式能够带来很好的用户体验,同时也是考量程序性能的一个重要指标。关于listview的异步加载,网上其实很多示例了,中心思想都差不多,不过很多版本或是有bug,或是有性能问题有待优化。有鉴于此,本人在网上找了个相对理想的版本并在此基础上进行改造,下面就让在下阐述其原理以探索个中奥秘,与诸君共赏…贴张效果图先:          异步

2013-02-22 17:54:11 1487

转载 Android最佳实践之流畅(Seamlessness)设计

即使你的应用程序是快速且响应灵敏的,但一些设计仍然会给用户造成问题——与其它应用程序或对话框未事先计划的交互,意外的数据丢失,意料之外的阻塞等等。避免这些问题,有助于理解应用程序运行的上下文和系统的交互过程,而这些又正影响着你的应用程序。简而言之,你应该竭尽全力去开发一个与系统和其它应用程序流畅交互的应用程序。一个常见的流畅问题是,一个应用程序的后台处理——例如,一个Service或者Br

2013-02-21 21:41:19 383

转载 性能优化一

一、在使用Gallery控件时,如果载入的图片过多,过大,就很容易出现OutOfMemoryError异常,就是内存溢出。这是因为Android默认分配的内存只有几M,而载入的图片如果是JPG之类的压缩格式,在内存中展开时就会占用大量的空间,也就容易内存溢出。这时可以用下面的方法解决: [c-sharp] view plaincopy

2013-02-21 21:30:01 285

转载 关于ANR超时

Android最佳实践之响应灵敏性可能会存在这样的情况,你写的代码通过了世界上所有的性能测试,但当用户尝试使用你的应用程序时,仍然让用户感到不爽。应用程序响应不够灵敏的地方包括——反映迟钝,挂起或冻结很长时间,或者需要花费很长的时间来处理输入。在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Applicati

2013-02-20 16:46:45 402

转载 Android ANR异常及解决方法

ANR (“Application Not Responding”),意思是”应用没有响应“。在如下情况下,Android会报出ANR错误:– 主线程 (“事件处理线程” / “UI线程”) 在5秒内没有响应输入事件– BroadcastReceiver 没有在10秒内完成返回通常情况下,下面这些做法会导致ANR1、在主线程内进行网络操作2、在主线程内进行一些缓

2013-02-20 11:20:50 320

转载 Android开发之多线程处理、Handler详解

很多初入Android或Java开发的新手对Thread、Looper、Handler和Message仍然比较迷惑,衍生的有HandlerThread、java.util.concurrent、Task、AsyncTask由于目前市面上的书籍等资料都没有谈到这些问题,今天Android123就这一问题做更系统性的总结。 Android开发过程中为什么要多线程我们创建的Service、A

2013-02-20 11:19:47 348

转载 性能优化类StrictMode

StrictMode有多种不同的策略,每一种策略又有不同的规则,当开发者违背某个规则时,每个策略都有不同的方法去显示提醒用户。在本文中,将举例子说明如何使用在Android 中使用 StrictMode。  StrictMode的策略和规则  目前,有两大类的策略可供使用,一类是关于常用的监控方面的,另外一类是关于VM虚拟机等方面的策略。常用的监控方面的策略有如下这些:  Disk R

2013-02-19 15:03:35 429

转载 android 2.3 StrictMode 使用解决ANR窗口

ANR窗口产生的原因是多种多样的。程序的主线程因为IO读写或网络阻塞而导致被阻塞了,外部存储设备被独占了或系统负荷(load)过高(即不是自己编写的程序的问题,可能是系统或者其他第三方程序导致的问题),都有可能导致ANR窗口的出现。  从Android 2.3开始提供了一个新的类StrictMode,可以帮助开发者改进他们的Android应用,StrictMode可以用于捕捉发生在应用程序主线

2013-02-18 16:49:53 494

转载 android游戏开发须知!

如果你有兴趣为Android平台开发游戏,有很多你需要了解的东西。我是Light Racer,Light Racer 3D以及Wixel的开发者,这些游戏目前在Android Market上有售。我以前也开发过游戏,但Light Racer是我的第一个Android应用程序,我从中学到了很多Android游戏开发知识,也愿意与诸位分享。我甚至写了一本在线的书详细介绍了Light Racer3D的开

2013-02-18 11:25:36 368

转载 Android 动画框架详解,第 2 部分

Android launcher 的平滑和立体翻页效果我们这里把 Android launcher 程序的 Workspace 相关的代码抽取出来,以一个比较简单的代码来展示 launcher 程序是如何实现多页以及不同页面之间的切换效果。本示例代码在 SDK 2.1 中运行,设置的是 WVGA 的屏幕大小。首先我们来看一下程序运行的效果来一些感性的认识。图 1:平滑移动效果

2013-02-18 10:36:08 390

转载 使用Memory Analyzer Tool(MAT)Eclipse插件分析内存泄露

前言在使用Memory Analyzer tool(MAT)分析内存泄漏(一)中,我介绍了内存泄漏的前因后果。在本文中,将介绍MAT如何根据heap dump分析泄漏根源。由于测试范例可能过于简单,很容易找出问题,但我期待借此举一反三。一开始不得不说说ClassLoader,本质上,它的工作就是把磁盘上的类文件读入内存,然后调用java.lang.ClassLoader.defin

2013-02-05 22:48:47 4214

转载 Eclipse MAT 工具的使用(a)

一、安装Eclipse MAT插件1.打开Eclipse->help->add->输入如下值2.勾选Memory  Analyzer for Eclipse IDE选项3.一直点击next完成安装二、使用1.打开ADT的DDMS视图,在devices列表中选择一个进程(这里选择oschina app进行分析)并点击红框处,

2013-02-05 21:57:27 12474 1

转载 Android内存分析工具DDMS heap + MAT 安装和使用

一  Java内存分析工具扫盲如果像我一样一点都不了解,可以先进行内存分析工具扫盲MAT介绍:     Eclipse Memory Analyzer(MAT)一个功能丰富的 JAVA 堆转储文件分析工具,可以用于发现内存漏洞和减少内存消耗。二  Eclipse MAT插件安装当前机器环境描述:[plain] view plaincopypr

2013-02-04 15:00:19 6527

转载 Android分辨率(屏幕适配)

关于手机分辨率相关术语和概念屏幕尺寸:实际的物理尺寸,屏幕的对角线测量。为了方便,android把所有的屏幕尺寸分为了4个广义的大小:小,正常,大,特大。屏幕密度:屏幕的物理面积内像素的数量,通常称为DPI(每英寸点数)。为了方便,android把所有的实际屏幕密度分为:低,中,高,特高。方向:从用户的角度来看,就是屏幕的方向,就是横向或者纵向的意义。分辨率:屏幕上面的物理像素总数

2013-02-04 01:58:33 861

转载 Android动画框架详解一

Android 平台提供了一套完整的动画框架,使得开发者可以用它来开发各种动画效果,本文将向读者阐述 Android 的动画框架是如何实现的。 任何一个框架都有其优势和局限性,只有明白了其实现原理,开发者才能知道哪些功能可以利用框架来实现,哪些功能须用其他途径实现。Android 平台提供了两类动画,一类是 Tween 动画,即通过对场景里的对象不断做图像变换 ( 平移、缩放、旋转 ) 产生动

2013-01-31 23:31:43 3900

转载 android ViewGroup的onInterceptTouchEvent 和 onTouchEvent事件

onInterceptTouchEvent(MotionEvent ev)方法是GroupView控件中特有的一个方法,我们可以实现这个方法来截获所有的窗口点击事件来根据事件的不同来对子控件或自身分发事件触发。覆盖这个方法时需要小心注意,因为它和View.onTouchEvent(MotionEvent)有着复杂的关系,我们使用是需要和View.onTouchEvent(MotionEvent)一

2013-01-31 13:07:45 843

转载 ListView异步加载 优化一

有人说用AsyncTask会更好点,因为实现的原理是线程池,肯定是比new Thread强,这个我也没有考证,后来根据自己的一套做了一些修改,只是一直没发出来,然后有些同学线下又找我要修改后的源码,我就索性把我修改的发出来给大家分享一下。其实改动不大,就是把之前的new Thread改成了 Handler Looper Thread的模式,这样在第一次滑动的时候就进入了wait状态,又因为

2013-01-31 09:24:11 484

转载 ListView异步加载 优化二

r写这篇文章并不是教大家怎么样用listview异步加载图片,因为这样的文章在网上已经有很多了,比如这位仁兄写的就很好:http://www.iteye.com/topic/685986我也是因为看了这篇文章而受到了启发。先说说这篇文章的优点把,开启线程异步加载图片,然后刷新UI显示图片,而且通过弱引用缓存网络加载的图片,节省了再次连接网络的开销。这样做无疑是非常可取的方法,但是加

2013-01-31 09:21:39 485

转载 Android中滑屏实现----手把手教你如何实现触摸滑屏以及Scroller类详解

FROM:http://blog.csdn.net/qinjuning前言:  虽然本文标题的有点标题党的感觉,但无论如何,通过这篇文章的学习以及你自己的实践认知,写个简单的滑屏小Demo还是just so so的。友情提示:在继续往下面读之前,希望您对以下知识点有一定程度掌握,否则,继续看下去对您意义也不大。   1、掌握View(视图)的"视图坐标"以及"布局坐标",以

2013-01-31 05:04:19 814

转载 android如何提升性能

出色的用户体验有三个特征:速度快、响应及时以及无缝。下面的信息帮助你的应用如何能够在Android上实现这些特征。一、速度快你不能假设手机与桌面系统和服务器一样提速,更多的是你要关注你的代码是否高效。编写高效的Android代码,应遵循两个原则:不要做不必要的事不要分配不必要的内存以下是一些达到此目标的小技巧(有一些技巧是与oo的原则冲突,斟酌使用场

2013-01-24 23:39:09 780

转载 SQL性能优化十条经验

1.查询的模糊匹配尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用.解决办法:其实只需要对该脚本略做改进,查询速度便会提高近百倍。改进方法如下:a、修改前台程序——把查询条件的供应商名称一栏由原来的文本输入改为下拉列表,用户模糊输入供应商名称时,直接在前台就帮忙定位到具体的供应商,这样在调用

2013-01-24 23:38:19 348

转载 性能优化建议

关于性能优化,应该从以下基本的几点做起:1.避免创建不必要的对象,不要频繁的创建对象。    对于有些操作如果可以不用穿件对象就尽量不要创建,创建对象即耗时又占用空间。2.如果一个方法没有用到成员变量,可以把方法声明成static的,可以提高性能15%-40%。   可以把方法都定义成传参的方式,就不会使用成员变量了,仍然可以修改成员变量的值。3.不使用getter,sette

2013-01-24 17:08:14 268

转载 android布局属性详解

RelativeLayout用到的一些重要的属性:     第一类:属性值为true或false     android:layout_centerHrizontal  水平居中 android:layout_centerVertical 垂直居中     android:layout_centerInparent    相对于父元素完全居中     android:lay

2013-01-23 15:40:12 289

转载 Android Layout机制研究

Layout对于迅速的搭建界面和提高界面在不同分辨率的屏幕上的适应性具有很大的作用。这里简要介绍Android的Layout和研究一下它的实现。Android有4种Layout:FrameLayout,LinearLayout,TableLayout,RelativeLayout。放入Layout中进行排布的View的XML属性:4种Layout中Item所共有的XML属性:(1)

2013-01-23 15:23:59 421

转载 自定义Dialog如何监听按钮事件

利用回调方法,在调用处,进行Dialog中各按钮的事件处理。package com.demo; import android.app.Dialog; import android.content.Context; import android.os.Bundle; import android.view.View; import android.view.View.O

2013-01-21 16:32:36 7149 2

空空如也

空空如也

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

TA关注的人

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