Welcome 微信登录

首页 / 移动开发 / Android

浅谈Android应用的内存优化及Handler的内存泄漏问题

浅谈Android应用的内存优化及Handler的内存泄漏问题

一、Android内存基础物理内存与进程内存物理内存即移动设备上的RAM,当启动一个Android程序时,会启动一个Dalvik VM进程,系统会给它分配固定的内存空间(16M,32M不定),这块内存空间会映射到RAM上某个区域。然后这个Android程序就会运行在这块空间上。Java里会将这块空间分成Stack栈内存和Heap堆内存。stack里存放对象的引用,heap里存放实际对象数据。在程序运行中会创建对象,如果未合理管理内存,比如不及时回收无效空间...
Android动态加载布局

Android动态加载布局

ListView我们一直都在用,只不过当Adapter中的内容比较多的时候我们有时候没办法去设置一些组件,举个例子:可以看到京东的故事里面的这样一个布局,这个布局可以说是我目前见到的内容比较多的了,它的每一项都包含头像、姓名、分类、内容、图片、喜欢、评论、分享以及喜欢的头像。分析了一下布局之后我们不难发现,除了喜欢头像这部分,其余的都很好实现。那么下面着重说一下这个头像这部分怎么实现?第一种方案:我们可以用GridView来实现,GridView和List...
Android 屏幕截屏方法汇总

Android 屏幕截屏方法汇总

1、直接使用getWindow().getDecorView().getRootView()直接使用getWindow().getDecorView().getRootView()是获取当前屏幕的activity。然而对于系统状态栏的信息是截不了,出现一条空白的。如下图:主要到没,有一条白色边就是系统状态栏。看一下代码,很简单都加了注释了。//这种方法状态栏是空白,显示不了状态栏的信息 private void saveCurrentImage() { /...
Android事件传递机制

Android事件传递机制

实验环境OS X 10.9Eclipse(ADT)Android源码版本:API Level 19(Android 4.4)Android事件构成在Android中,事件主要包括点按、长按、拖拽、滑动等,点按又包括单击和双击,另外还包括单指操作和多指操作。所有这些都构成了Android中的事件响应。总的来说,所有的事件都由如下三个部分作为基础:按下(ACTION_DOWN)移动(ACTION_MOVE)抬起(ACTION_UP)所有的操作事件首先必须执行的...
Android仿百度福袋红包界面

Android仿百度福袋红包界面

首先来看一下效果图:1.编程思路看看界面,不难发现,其就是一个放入九张图片的容器,绘制其实可以在其上面另创建一个透明View负责绘制线与圆圈。下面我们将介绍一下实现过程。㈠自定义ViewGroup我们知道,自定义ViewGroup一定需要实现其onLayout()方法。该方法是设置子View位置与尺寸的时候调用。还有一个onMeasure()方法,该方法是测量view及其内容来确定view的宽度和高度。㈡存储其点与圆的位置及绘制参数当重回界面的时候,是不会...
Android ShareSDK快速实现分享功能

Android ShareSDK快速实现分享功能

第一步 :获取ShareSDK 为了集成ShareSDK,您首先需要到ShareSDK官方网站注册并且创建应用,获得ShareSDK的Appkey,然后到SDK的下载页面下载SDK的压缩包,解压以后可以得到如下图的目录结构: ShareSDK在“ShareSDK for Android”目录下,此目录中的“Libs”包含“MainLibs”和“OnekeyShare” 分别是ShareSDK的核心库和“快捷分享”的源码库,说明文档也在“ShareSDK...
Android View事件机制 21问21答

Android View事件机制 21问21答

1.View的坐标参数 主要有哪些?分别有什么注意的要点?答:Left,Right,top,Bottom 注意这4个值其实就是 view 和 他的父控件的 相对坐标值。 并非是距离屏幕左上角的绝对值,这点要注意。 此外,X和Y 其实也是相对于父控件的坐标值。 TranslationX,TranslationY 这2个值 默认都为0,是相对于父控件的左上角的偏移量。 换算关系: x=left+tranX,y=top+tranY. 很多人不理解,为什么...
Android高仿微信聊天界面代码分享

Android高仿微信聊天界面代码分享

微信聊天现在非常火,是因其界面漂亮吗,哈哈,也许吧。微信每条消息都带有一个气泡,非常迷人,看起来感觉实现起来非常难,其实并不难。下面小编给大家分享实现代码。先给大家展示下实现效果图:OK,下面我们来看一下整个小项目的主体结构:下面是Activity的代码:package com.way.demo; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util....
Android实现微信支付功能

Android实现微信支付功能

开发Android APP微信支付功能,需要完成三个步骤:第一步生成预支付订单、第二步生成微信支付参数、第三步调起微信APP支付。除了需要审核通过的APP应用外,还需要获得微信支付接口权限,然后获取对应的商户号、API密钥,这两者缺一不可,并且在APP微信支付中使用获得商户号、API密钥在微信开放平台中查看审核通过的APP应用,是否申请支付功能,若已申请,登录微信支付|商户平台:http://pay.weixin.qq.com 查看对应的商户号、API密钥...
Android工程师面试题大全

Android工程师面试题大全

下面对这段时间面试遇到的问题进行整理,分享给大家供大家参考,具体内容如下Java基础:1、内存泄露的原因1)、资源对象没关闭。如Cursor、File等资源。他们会在finalize中关闭,但这样效率太低。容易造成内存泄露。SQLiteCursor,当数据量大的时候容易泄露2)、使用Adapter时,没有使用系统缓存的converview。3)、即时调用recycle()释放不再使用的Bitmap。适当降低Bitmap的采样率,如:BitmapFactor...
Android客户端与服务端交互

Android客户端与服务端交互

本文和大家一起了解了一下android客户端与服务端是怎样交互的,具体内容如下1.后台使用简单的servlet,支持GET或POST。这个servlet最终返回给前台一个字符串flag,值是true或false,表示登录是否成功。servlet使用之前需要配置,主义servlet的servlet-name要和servlet-mapping的servlet-name一致,否则找不到路径我是在myEclipse上创建的一个web service 项目,然后部署...
Android使用ViewDragHelper实现QQ6.X最新版本侧滑界面效果实例代码

Android使用ViewDragHelper实现QQ6.X最新版本侧滑界面效果实例代码

(一).前言: 这两天QQ进行了重大更新(6.X)尤其在UI风格上面由之前的蓝色换成了白色居多了,侧滑效果也发生了一些变化,那我们今天来模仿实现一个QQ6.X版本的侧滑界面效果。今天我们还是采用神器ViewDragHelper来实现.本次实例具体代码已经上传到下面的项目中,欢迎各位去star和fork一下。https://github.com/jiangqqlmj/DragHelper4QQFastDev4Android框架项目地址:https://git...
Android使用ViewDragHelper实现仿QQ6.0侧滑界面(一)

Android使用ViewDragHelper实现仿QQ6.0侧滑界面(一)

QQ是大家离不开的聊天工具,方便既实用,自从qq更新至6.0之后,侧滑由原来的划出后主面板缩小变成了左右平滑,在外观上有了很大的提升,于是我就是尝试理解下里面的各种逻辑,结合相关资料,研究研究。知道这里面的一个主要类是ViewDragHelper,那么首先我们要先来了解一下这个ViewDragHelper类,正所谓打蛇打七寸,我们就先来看看官方文档怎么介绍的,有什么奇特的功能。首先继承:java.lang.Object android.support.v4...
Android滑动优化高仿QQ6.0侧滑菜单(滑动优化)

Android滑动优化高仿QQ6.0侧滑菜单(滑动优化)

推荐阅读:Android使用ViewDragHelper实现仿QQ6.0侧滑界面(一)但是之前的实现,只是简单的可以显示和隐藏左侧的菜单,但是特别生硬,而且没有任何平滑的趋势,那么今天就来优化一下吧,加上平滑效果,而且可以根据手势滑动的方向来判断是否是显示和隐藏。首先先来实现手势判断是否隐藏和显示这里就要用到了一个方法了,如下:这个是ViewDradHelper里面的方法:/*** 当view被释放的时候处理的事情(松手)** @param release...
<< 221 222 223 224 225 226 227 228 229 230 >>