- 博客(16)
- 资源 (29)
- 收藏
- 关注
转载 Android系统中GC什么情况下会出现内存泄露呢?
导致内存泄漏主要的原因是,先前申请了内存空间而忘记了释放。如果程序中存在对无用对象的引用,那么这些对象就会驻留内存,消耗内存,因为无法让垃圾回收器GC验证这些对象是否不再需要。如果存在对象的引用,这个对象就被定义为"有效的活动",同时不会被释放。要确定对象所占内存将被回收,我们就要务必确认该对象不再会被使用。典型的做法就是把对象数据成员设为null或者从集合中移除该对象。但当局部变量不需要时,不需
2015-11-30 18:46:48 3051
转载 Android中Task任务栈的分配
首先我们来看下Task的定义,Google是这样定义Task的:a task is what the user experiences as an "application." It's a group of related activities, arranged in a stack. A task is a stack of activities, not a class or an e
2015-11-30 18:45:09 2470
转载 对android虚拟机的理解,包括内存管理机制垃圾回收机制。dalvik和art区别
虚拟机很小,空间很小,谈谈移动设备的虚拟机的大小限制 16M ,谈谈加载图片的时候怎么处理大图片的,outmemoryExceptionBitmapFactory.option 垃圾回收,没有引用的对象,在某个时刻会被系统gc掉 .Dalvik和标准Java虚拟机(JVM)首要差别Dalvik 基于寄存器,而 JVM 基于栈。基于寄存器的虚拟机对于编译后变大的程
2015-11-30 18:43:14 4755
转载 单线程模型中Message、Handler、Message Queue、Looper之间的关系
简单的说,Handler获取当前线程中的looper对象,looper用来从存放Message的MessageQueue中取出Message,再有Handler进行Message的分发和处理.Message Queue(消息队列):用来存放通过Handler发布的消息,通常附属于某一个创建它的线程,可以通过Looper.myQueue()得到当前线程的消息队列.Handler:可以发布或者
2015-11-30 18:42:15 1188
转载 Android 图片缓存处理
异步下载 / 本地缓存异步下载大家都知道,在android应用中UI线程5秒没响应的话就会抛出无响应异常,对于远程获取大的资源来说,这种异常还是很容易就会抛出来的,那么怎么避免这种问题的产生。在android中提供两种方法来做这件事情:启动一个新的线程来获取资源,完成后通过Handler机制发送消息,并在UI线程中处理消息,从而达到在异步线程中获取图片,然后通过Hand
2015-11-30 18:36:50 715
原创 关于Android service的一些基础知识集合
1.什么是Service以及描述下它的生命周期。Service有哪些启动方法,有什么区别,怎样停用Service?在Service的生命周期中,被回调的方法比Activity少一些,只有onCreate, onStart, onDestroy,onBind和onUnbind。通常有两种方式启动一个Service,他们对Service生命周期的影响是不一样的。1 通过startSer
2015-11-30 16:58:48 1168
转载 横竖屏切换时候Activity的生命周期的总结--绝对全面
曾经遇到过一个面试题,让你写出横屏切换竖屏Activity的生命周期。现在给大家分析一下他切换时具体的生命周期是怎么样的:1、新建一个Activity,并把各个生命周期打印出来2、运行Activity,得到如下信息onCreate-->onStart-->onResume-->3、按crtl+f12切换成横屏时onSaveInstanceState-
2015-11-30 15:36:10 762
转载 Fragment的startActivityForResult详细解决方案
在android中使用Fragment启动另一个Activity并取回数据: startActivityForResult(intent, requestCode); 并重写onActivityResult(requestCode, resultCode, data)方法, 结果发现onActivityResult始终没有调用(使用的是3.2版本),此时用
2015-11-30 15:31:28 3564
原创 如何安全退出已调用多个Activity的Application?
对于单一Activity的应用来说,退出很简单,直接finish()即可。当然,也可以用killProcess()和System.exit()这样的方法。但是,对于多Activity的应用来说,在打开多个Activity后,如果想在最后打开的Activity直接退出,上边的方法都是没有用的,因为上边的方法都是结束一个Activity而已。当然,网上也有人说可以。就好像有人问,在
2015-11-30 15:23:35 623
转载 android 触摸(Touch)事件、点击(Click)事件的区别(详细解析)
针对屏幕上的一个View控件,Android如何区分应当触发onTouchEvent,还是onClick,亦或是onLongClick事件?在Android中,一次用户操作可以被不同的View按次序分别处理,并将完全响应了用户一次UI操作称之为消费了该事件(consume),那么Android是按什么次序将事件传递的呢?又在什么情况下判定为消费了该事件? 搞清楚这
2015-11-30 15:18:37 1322
转载 JAVA线程安全之阿里经典面试题
题目描述: 这段代码大多数情况下运行正常,但是某些情况下会出问题。什么时候会出现什么问题?如何修正? Java代码 public class MyStack { private List list = new ArrayList(); public synchronized void push(String value) {
2015-11-25 18:24:26 2785
转载 JAVA线程安全之synchronized关键字的正确用法
JAVA线程安全关于synchronized关键字的用法,今天才知道原来我一直错了。以为用了synchronized关键字包住了代码就可以线程同步安全了。测试了下。发现是完全的错了。synchronized必须正确的使用才是真正的线程安全。。。虽然知道这种写法,一直以为却由于懒而用了错误的方法。看来基础还没有打好。仍需复习加强!工作中犯这种错误是不可原谅的,要知道使用synchro
2015-11-25 16:47:57 1143
转载 Android性能优化之常见的内存泄漏
前言对于内存泄漏,我想大家在开发中肯定都遇到过,只不过内存泄漏对我们来说并不是可见的,因为它是在堆中活动,而要想检测程序中是否有内存泄漏的产生,通常我们可以借助LeakCanary、MAT等工具来检测应用程序是否存在内存泄漏,MAT是一款强大的内存分析工具,功能繁多而复杂,而LeakCanary则是由Square开源的一款轻量第三方内存泄漏检测工具,当它检测到程序中有内存泄漏的产生时,它将
2015-11-25 14:26:49 667
转载 关于代码中写注释,你不得不知道的那些事儿
引 程序员圈有一个笑话最讨厌在写代码的时候写注释, 最讨厌别人的代码里面不写注释那为啥要写注释呢? 我就以自己的亲身经历和理解开始阐述吧: 这段时间在微店实习, 最开始干的事情就是将原来北京团队的代码迁移到杭州, 由于更换了技术架构, 因此很多代码都需要重写. 但是重写的首先要理解原先的业务逻辑, 当我在SVN(对, 你没有看错, 就是SVN -_
2015-11-20 10:54:12 5933
原创 PhoneGap开发环境搭建及入门
应用程序开发分为不同的层次,从最复杂的NDK ==》JDK ==》中间件 ==》图形界面。NDK开发的主要是C++开发,JDK 开发主要 java 开发,中间件开发主要:PhoneGap、MonoTouch、Rexsee EMS等等。 NDK是比较底层的东西,主要开发大型的3D游戏之类的;JDK的话比较普遍,大部分搞android开发的人都在用,开发周期比较长,做出来的东西效果
2015-11-18 12:12:40 10101
转载 开发Android应用程序,原生开发VS中间件
发现了个写Android程序的工具叫rexsee,在rexsee官网上看着挺牛的,“忘记Java和eclipse,使用HTML和JavaScript开发Android应用程序”。刚开始觉得这玩意儿吹大了,不过看了看介绍还挺像回事。 官网上使用说明曰,如果要开发个程序,把该程序放在你的网络的代理服务器上,然后把rexsee软件安装在手机上,在rexsee中输入网络上代理的程序所在的首页
2015-11-16 10:47:24 3415
Android 距离感应控制Audio输出通道
2014-07-18
Android快捷方式Demo
2014-07-17
MQTT推送Demo
2014-02-19
随心写-NoteFree
2011-01-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人