- 博客(109)
- 资源 (2)
- 收藏
- 关注
原创 Android性能优化技巧
转载请注明:Android性能优化技巧 开发Android应用时,有些tips需要牢记在心,让app性能表现更好,也方便后续代码的维护Google官方tips以下是一些关键点记录,详细看http://developer.android.com/training/articles/perf-tips.html 1.0 基础原则 好的算法和数据结构,是大幅提高性能的首选 两基础原则:不要做不
2015-07-27 19:38:31
1261
原创 Android堆内存分配
大家都知道Android的上层应用是基于 Dalvik Virtual Machine的。Dalvik VM的特点是基于寄存器,相比SUN的JVM(基于堆栈,没有寄存器)来说,理论上完成同样的功能需要的指令条数少,但是指令集复杂。到了Android2.2,Dalvik终于实现了JIT(Just In Time)功能,前进了一大步。近期我们遇到OutOfMemory的错误,通常是堆内
2015-04-20 11:06:44
1995
转载 Java数组及引用类型内存分配
在上一篇中,我们已经了解了数组,它是一种引用类型,本篇将详细介绍数组的内存分配等知识点。数组用来存储同一种数据类型的数据,一旦初始化完成,即所占的空间就已固定下来,即使某个元素被清空,但其所在空间仍然保留,因此数组长度将不能被改变。当仅定义一个数组变量(int[] numbers)时,该变量还未指向任何有效的内存,因此不能指定数组的长度,只有对数组进行初
2015-03-19 10:50:38
3194
转载 详解Android动画
Tween动画是操作某个控件让其展现出旋转、渐变、移动、缩放的这么一种转换过程,我们成为补间动画。我们可以以XML形式定义动画,也可以编码实现。如果以XML形式定义一个动画,我们按照动画的定义语法完成XML,并放置于/res/anim目录下,文件名可以作为资源ID被引用;如果由编码实现,我们需要使用到Animation对象。如果用定义XML方式实现动画,我们需要
2015-03-07 20:31:53
611
转载 非递归遍历二叉树
1.先序遍历从递归说起void preOrder(TNode* root){ if (root != NULL) { Visit(root); preOrder(root->left); preOrder(root->right); }}递归算法非常的简单。先访问跟节点,然后访问
2015-03-06 21:18:54
650
转载 java中的各种数据类型在内存中存储的方式
1.java是如何管理内存的java的内存管理就是对象的分配和释放问题。(其中包括两部分)分配:内存的分配是由程序完成的,程序员需要通过关键字new为每个对象申请内存空间(基本类型除外),所有的对象都在堆(Heap)中分配空间。释放:对象的释放是由垃圾回收机制决定和执行的,这样做确实简化了程序员的工作。但同时,它也加重了JVM的工
2015-03-06 13:42:55
691
转载 浅谈RGB
RGB色彩模式(也翻译为“红绿蓝”,比较少用)是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。简介 RGB色彩模式使用RGB模型为图像中每一个像素的RGB分量分配一个0~255范围内
2014-09-25 18:57:37
1327
1
转载 为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment?
在一个 Android 应用中,我使用 FragmentPagerAdapter 来处理多 Fragment 页面的横向滑动。不过我碰到了一个问题,即当 Fragment 对应的数据集发生改变时,我希望能够通过调用 mAdapter.notifyDataSetChanged() 来触发 Fragment 页面使用新的数据调整或重新生成其内容,可是当我调用 notifyDataSetChange
2014-09-21 00:44:21
644
转载 ListView添加header问题
今天突然发现ListView的OnItemClickListener监听事件中的position返回是从1开始的,一直觉得很奇怪,在群里问了后,可能是headerView的问题,特意去查了一番,原来是如此:特此记过!(1)添加HeaderView之后尺寸布局被忽略。通常添加头部的方法是 ?123Layout
2014-09-20 12:05:32
4508
转载 Java的GC机制
Java的GC机制 1.Java中finalize()的作用一主要是清理那些对象(并非使用new)获得了一块“特殊”的内存区域。程序员可以用finalize()来操作。 程序员都了解初始化的重要性,但常常会忘记同样也重要的清理工作。毕竟,谁需要清理一个int呢?但在使用程序库时,把一个对象用完后就“弃之不顾”的做法并非总是安全的。当然,Java有垃圾回收器负责回收无用对象占
2014-08-21 10:22:22
545
转载 Android之内存泄漏调试学习与总结
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://mzh3344258.blog.51cto.com/1823534/895093 大家有或经常碰到OOM的问题,对吧?很多这样的问题只要一出现相信大家的想法跟小马的一样,就是自己的应用:优化、优化、再优化!而且如果出现类似于OOM这样级别的问题,根本就不好处理,Log
2014-08-21 10:15:57
565
原创 android GC内存泄露问题
android GC内存泄露问题1. android内存泄露概念 不少人认为JAVA程序,因为有垃圾回收机制,应该没有内存泄露。其实如果我们一个程序中,已经不再使用某个对象,但是因为仍然有引用指向它,垃圾回收器就无法回收它,当然该对象占用的内存就无法被使用,这就造成了内存泄露。如果我们的java运行很久,而这种内存泄露不断的发生,最后就没内存可用了。当然java的,内存泄漏和C
2014-08-21 10:06:21
970
转载 Android Annotations在Eclipse下配置
配置基本的配置方法来自《官方文档(Eclipse)》。首先从这里下载编译好的包——当然要自己从 Github 上 clone 源码来编译也行。解包后可以得到两个 jar 文件,一个是 androidannotations-xxx.jar 另一个是 androidannotations-api-xxx.jar 。把 aa-api-xxx.jar 放到 libs 目录下,但是 aa-x
2014-08-20 11:47:54
984
转载 Android下Affinities和Task
(转载)Android下Affinities和Task源文链接:http://appmem.com/archives/405本文参考了官方Dev Guide文档,简单介绍Android下的affinities和任务(task)。1、Activity和Tasktask就好像是能包含很多activity的栈。 默认情况下,一个activity启动另外一个activi
2014-08-14 22:24:14
540
转载 从零开始--系统深入学习android
从零开始--系统深入学习android(实践-让我们开始写代码-Android框架学习-4.Action Bar)第4章 Action BarAction Bar是一个能用于确定应用程序和用户的位置,并提供给用户操作和导航模式的窗口功能。如果需要显著地展示当前用户的操作或导航,应该使用Action Bar,因为Action Bar为用户提供了一个统一的跨应用程序和系统的接口,并
2014-08-14 14:41:12
802
转载 Android推送服务(GCM)----GCM Architectural Overview翻译
Android推送服务(GCM)----GCM Architectural Overview翻译分类: Android2012-12-27 15:19 5271人阅读 评论(3) 收藏 举报GCMArchitectural OverviewGoogle Cloud Messaging for Android (GCM)是一个能够帮助开发者从服务器端发送数据到运行在Andro
2014-08-05 14:18:02
1290
转载 Android开源项目分类汇总
Skip to contentIgnore Learn morePlease note that GitHub no longer supports Internet Explorer versions 7 or 8.We recommend upgrading to the latest Internet Explorer, Google Chrome
2014-08-04 16:59:07
2319
转载 自定义View之onMeasure(),onLayout(),onDraw()
自定义View之onMeasure()分类: 实习android开发之路2014-01-25 11:13 395人阅读 评论(0) 收藏 举报目录(?)[+] 分类: Android2013-12-03 15:55 205人阅读 评论(1) 收藏 举报android源码可以说重载onMeasure(),onLayout(),
2014-07-15 13:46:58
9710
转载 Android自定义属性,format详解
1. reference:参考某一资源ID。 (1)属性定义: background" format = "reference" /> (2)属性使用: android:layout_width = "42di
2014-07-15 11:43:42
1055
转载 Android onTouchEvent, onClick及onLongClick的调用机制
针对屏幕上的一个View 控件,Android 如何区分应当触发onTouchEvent ,还是onClick ,亦或是onLongClick 事件?在Android 中,一次用户操作可以被不同的View 按次序分别处理,并将完全响应了用户一次UI 操作称之为消费了该事件(consume) ,那么Android 是按什么次序将事件传递的呢? 又在什么情况下判定为消费了该事件?
2014-06-25 16:18:07
634
转载 Android事件机制之一:事件传递和消费
关于Android中的事件机制,用到的地方还是很多的,并且这个知识点还真有点复杂。在写这篇文章前,网上看了不少博文,有的写的感觉挺不错的。只是当时感觉好像理解了,事后又很容易忘。现在自己也系统整理下吧。Android中的事件在表现形式上有很多,如onTach、onClick和onLongClick等,在具体微观上的表现形势有action_down、action_move和actio
2014-06-25 16:15:19
715
转载 Android中Parcelable接口用法
ndroid中Parcelable接口用法1. Parcelable接口Interface for classes whose instances can be written to and restored from a Parcel。 Classes implementing the Parcelable interface must also have a static fi
2014-06-23 16:43:38
745
转载 log4j教程
log4j教程1. 简介2. 安装3. log4j基本概念3.1. Logger3.2. Appender3.2.1. 使用ConsoleAppender3.2.2. 使用FileAppender3.2.3. 使用WriterAppender3.3. Layout3.4. 基本示例3.4.1. SimpleLayout和FileAppender3.4.2. HTMLLayo
2014-05-05 20:25:51
435
转载 KMP算法详解
个人觉得这篇文章是网上的介绍有关KMP算法更让人容易理解的文章了,确实说得很“详细”,耐心地把它看完肯定会有 所收获的~~,另外有关模式函数值next[i]确实有很多版本啊,在另外一些面向对象的算法描述书中也有失效函数 f(j)的说法,其实是一个意思,即next[j]=f(j-1)+1,不过还是next[j]这种表示法好理解啊:
2014-04-30 11:34:08
668
转载 动态规划算法以及例题
动态规划 算法总体思想 动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题。但是经分解得到的子问题往往不是互相独立的。不同子问题的数目常常只有多项式量级。在用分治法求解时,有些子问题被重复计算了许多次。如果能够保存已解决的子问题的答案,而在需要时再找出已求得的答案,就可以避免大量重复计算,从而得到多项式时间算法。动态规划基本步骤:(1)找出最
2014-04-18 11:18:42
4233
转载 同步和异步
同步在一定程度上可以看做是单线程,这个线程请求一个方法后就待这个方法给他回复,否则他不往下执行(死心眼)。 异步在一定程度上可以看做是多线程的(废话,一个线程怎么叫异步),请求一个方法后,就不管了,继续执行其他的方法。 比如一个文章系统里面,文章内容通常是字数非常多的,如果数据量大,打开会非常的慢,这个时候可以采取两种方法: 1、死心眼:一直等待要显示的数据全部取出来
2014-04-16 10:40:59
571
转载 Activity的四种launchMode
合抱之木,生於毫末;九層之台,起於累土;千里之行,始於足下。《老子》今天在社区看到有朋友问“如何在半年内成为顶级架构师”,有网友道“关灯睡觉,不用半年的...”,的确,做梦还来的快一些。作为一个程序员,树立远大的目标是值得欣赏的,但不能只去空想,要一步一步地实践才行。成大事者,须从小事做起;万事起于忽微,量变引起质变。我们今天要讲的是Activity的四种launchMode。la
2014-04-14 10:17:05
648
转载 原子性与可见性 volatile与synchronized关键字
一、定义1.可见性在多核处理器中,如果多个线程对一个变量(假设)进行操作,但是这多个线程有可能被分配到多个处理器中运行,那么编译器会对代码进行优化,当线程要处理该变量时,多个处理器会将变量从主存复制一份分别存储在自己的片上存储器中,等到进行完操作后,再赋值回主存。(这样做的好处是提高了运行的速度,因为在处理过程中多个处理器减少了同主存通信的次数);同样在单核处理器中这样由于“备份”造成的问
2014-04-11 23:16:18
2000
转载 Android Notification通知详解
Android Notification通知详解根据activity的生命周期,在activity不显示时,会执行onStop函数(比如按下home键),所以你在onStop函数(按退出键除外)里面把notification放在通知栏里,再此显示时,把notification从通知栏里去掉。或者,只要程序在运行就一直显示通知栏图标。 下面对Notification类中的一
2014-04-10 22:49:02
995
转载 这些年收藏的技术大牛博客分享
转 这些年收藏的技术大牛博客分享(后续还会继续更新)大家可以在评论中分享自己关注的大家也可以在评论中分享自己关注的博客个人感觉一些比较好的。内容精致的博客推荐如下:http://www.cnblogs.com/huangxincheng/ 算法爬虫相关http://ifeve.com/ 并发编程网http://coolshell.cn/ 酷壳
2014-04-10 21:15:36
865
转载 基于XMPP协议的aSmack源码分析
这个UML有些不是很规范,只是为了作为思维路线的记录,怕跟迷路,也不知道有什么好的工具能看源码的,就笨笨的一点点的扣。This repository doesn't contain much code, it's a build environment!Tracking trunk can be hard. Doing massive changes on top of trunk
2014-04-10 21:11:10
1384
转载 JAVA NIO 简介
Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式。 Java NIO: Channels and Buffers(通道和缓冲区)标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓
2014-04-09 22:58:22
781
转载 android Java 笔试考题
前19题为常考题目!!(版本号:201108141031)1、Android的四大组件是哪些,它们的作用? 32、请介绍下Android中常用的五种布局。 33、android中的动画有哪几类,它们的特点和区别是什么 34、android 中有哪几种解析xml的类?官方推荐哪种?以及它们的原理和区别。 35、ListView的优化方案 46、
2014-03-27 16:29:58
2380
转载 最新百度 阿里 华为 腾讯 谷歌面试笔试题及解析
最新百度 阿里 华为 腾讯 谷歌面试笔试题及解析8月15日,百度2道面试题:1、来自《编程之美》的概率题:一个桶里面有白球、黑球各100个,现在按下述规则取球:的i 、每次从通里面拿出来两个球;ii、如果取出的是两个同色的求,就再放入一个黑球;ii、如果取出的是两个异色的求,就再放入一个白球。问:最后桶里面只剩下一个黑球的概率是多少?2、算法题:
2014-03-27 16:27:44
4927
转载 0-1背包问题
0-1背包问题0-1背包问题: 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 这个问题的特点是:每种物品只有一件,可以选择放或者不放。算法基本思想:利用动态规划思想 ,子问题为:f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。其状态转移方程
2014-03-25 10:50:54
529
转载 贪心算法
1 什么是贪心算法 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。2 贪心算法的特点: 贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题它能产生整体最优解或者是整体最优解的近似解。3 贪心算法的基本思路如下: 1.建立数学模型来描述问题。
2014-03-25 09:58:19
1053
转载 分治法,动态规划,贪心算法比较
分治法,动态规划,贪心算法比较 一般实际生活中我们遇到的算法分为四类: 一>判定性问题 二>最优化问题 三>构造性问题 四>计算性问题而今天所要总结的算法就
2014-03-25 00:05:07
1929
转载 各大IT公司校园招聘程序猿笔试、面试题集锦
转:http://blog.csdn.net/hackbuteer1/article/details/7959921百度一面1、给定一个字符串比如“abcdef”,要求写个函数编程“defabc”,位数是可变的。这个比较简单,我用的是strcpy和memcpy,然后他问有什么优化的办法,我就不知道了。2、socket过程就是socket的server和client整个流程写下来
2014-03-20 22:50:00
1653
转载 java内存分配
栈、堆、常量池虽同属Java内存分配时操作的区域,但其适用范围和功用却大不相同。本文将深入Java核心,详细讲解Java内存分配方面的知识。Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分配方面的知识。一般Java在内存分配时会涉及到以下区域:◆
2014-03-16 23:46:43
636
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人