![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
NicolasYan
这个作者很懒,什么都没留下…
展开
-
Activity启动模式(standard singleTop singleTask singleInstance)图文详解
Activity是安卓上最聪明的设计之一,优秀的内存管理让多任务完美运行在最流行的操作系统之上。并不是让Activity在屏幕上启动就完事了,其启动方式也是需要关注的。这个话题的内容很多,其中很重要的就是启动模式(launchMode)。这也是我们这篇博客要讨论的内容。因为不同的Activity有不同的目的。有些被设计成每发送一个intent都单独一个Activity工作,比如邮件客户端中撰写邮件原创 2016-03-02 13:11:42 · 509 阅读 · 0 评论 -
Android应用程序性能优化
1 背景其实有点不想写这篇文章的,但是又想写,有些矛盾。不想写的原因是随便上网一搜一堆关于性能的建议,感觉大家你一总结、我一总结的都说到了很多优化注意事项,但是看过这些文章后大多数存在一个问题就是只给出啥啥啥不能用,啥啥啥该咋用等,却很少有较为系统的进行真正性能案例分析的,大多数都是嘴上喊喊或者死记住规则而已(当然了,这话我自己听着都有些刺耳,实在不好意思,其实关于性能优化的优质博文网上也转载 2016-02-29 19:26:19 · 2844 阅读 · 0 评论 -
如何保证Android Service在后台不被Kill,或者被Kill后重启
Service组件在android开发中经常遇到,其经常作为后台服务,需要始终保持运行,负责处理一些必要(见不得人)的任务。而一些安全软件,如360等,会有结束进程的功能,如果不做Service的保持,就会被其杀掉。在早些时候,我们可以通过在1. service中重写onStartCommand方法,这个方法有三个返回值, START_STICKY是service被kill掉后自动转载 2016-02-29 17:52:56 · 4159 阅读 · 0 评论 -
Android中ActivityManagerService与应用程序通信模型分析
今天主要分析下ActivityManagerService(服务端) 与应用程序(客户端)之间的通信模型,在介绍这个通信模型的基础上,再 简单介绍实现这个模型所需要数据类型。 本文所介绍内容基于android2.2版本。由于android版本的不同,本文所包含的一些类可能在命名等细节上做了一些更改,但 万变不离其宗,整个核心思想和通信流程依旧转载 2016-02-29 17:33:27 · 898 阅读 · 0 评论 -
Android MediaPlayer状态机
对播放音频/视频文件和流的控制是通过一个状态机来管理的。下图显示一个MediaPlayer对象被支持的播放控制操作驱动的生命周期和状态。椭圆代表MediaPlayer对象可能驻留的状态。弧线表示驱动MediaPlayer在各个状态之间迁移的播放控制操作。这里有两种类型的弧线。由一个箭头开始的弧代表同步的方法调用,而以双箭头开头的代表的弧线代表异步方法调用。 通过这张图,我们可以知道转载 2016-03-24 17:39:12 · 668 阅读 · 0 评论 -
Android自定义刮刮乐控件
Android刮刮乐控件可以利用Xfermode以及PorterDuff来实现,PorterDuff的16种参数效果如下:代码如下:public class GuaView extends View { private Paint mPaint=new Paint(); private Path mPath = new Path(); private B原创 2016-03-22 15:29:24 · 809 阅读 · 0 评论 -
ViewDragHelper使用介绍
一、概述在自定义ViewGroup中,很多效果都包含用户手指去拖动其内部的某个View(eg:侧滑菜单等),针对具体的需要去写好onInterceptTouchEvent和onTouchEvent这两个方法是一件很不容易的事,需要自己去处理:多手指的处理、加速度检测等等。 好在官方在v4的支持包中提供了ViewDragHelper这样一个类来帮助我们方便的编写自定义ViewGroup。原创 2016-03-21 12:59:24 · 503 阅读 · 0 评论 -
Android Handler详解
Android的消息传递机制是另外一种形式的“事件处理”,这种机制主要是为了解决Android应用中多线程的问题,在Android中不允许Activity新启动的线程访问该Activity里的UI组件,这样会导致新启动的线程无法改变UI组件的属性值。但实际开发中,很多地方需要在工作线程中改变UI组件的属性值,比如下载网络图片、动画等等。本篇博客主要介绍Handler是如何发送与处理线程上传递来的消原创 2016-02-22 14:01:14 · 782 阅读 · 0 评论 -
Android MediaPlayer状态机 接口 方法解析
一. MediaPlayer 状态机 介绍Android MediaPlayer 状态即图例 : 1. Idle (闲置) 状态 和 End (结束) 状态MediaPlayer 对象声明周期 : 从 Idle 到 End 状态就是 MediaPlayer 整个生命周期;-- 生命周期开始 : 进入 Idle (闲置) 状态;转载 2016-03-30 10:52:34 · 1375 阅读 · 0 评论 -
为什么Html5那么强大,但是App更多的还是Native,而不是Html5?
首先,h5优势:1. 用h5做的页面迭代速度快,每次就更新服务器的文件用户那头就更新了,不用好像native那样各种提交app store审核,审核不过打回来然后还继续审,万一不小心有bug带出去了又要重新更新一个版本。这是h5的一个巨大的优势——迭代迅速2. h5现在已经能做越来越多的事,从地理位置获取到传感器获取到陀螺仪,h5的能力已经越来越大,并且相信会变得更大,这让开发者的原创 2016-02-04 20:22:45 · 2026 阅读 · 0 评论 -
ListView优化总结
在整理前几篇文章的时候有朋友提出写一下ListView的性能优化方面的东西,这个问题也是小马在面试过程中被别人问到的…..今天小马就借此机会来整理下,网上类似的资料蛮多的,倒不如自己写一篇,记录在这个地方,供自己以后使用,不用再翻来翻去的找了,用自己写的…呵呵,不多讲其它了,说起优化我想大家第一反应跟小马一样吧?想到利用ViewHolder来优化ListView数据加载,仅仅就此一条吗?其实不是的转载 2016-03-02 13:53:21 · 710 阅读 · 0 评论 -
Android动画原理分析
最近在Android上做了一些动画效果,网上查了一些资料,有各种各样的使用方式,于是乘热打铁,想具体分析一下动画是如何实现的,Animation, Animator都有哪些区别等等。首先说Animation(android.view.animation.Animation)对象。无论是用纯java代码构建Animation对象,还是通过xml文件定义Animation,其实最终的结原创 2016-03-02 13:49:10 · 5369 阅读 · 8 评论 -
Android Framework概述
Framework是什么 Framework的中文意思是“框架”,在软件开发中通常指开发框架,在一个系统中处于内核层之上,为顶层应用提供接口,被设计用来帮助开发者快速开发顶层应用,而不必关心系统内核运行机制,通常Framework都会隐藏main函数等应用程序必须的组件,开发人员只需把精力放在功能代码的实现上。Android Framework Android Framew转载 2016-03-02 13:16:49 · 1272 阅读 · 0 评论 -
开源图片加载工具Fresco使用详解
Fresco简单的使用—SimpleDraweeView百学须先立志—学前须知:在我们平时加载图片(不管是下载还是加载本地图片…..)的时候,我们经常会遇到这样一个需求,那就是当图片正在加载时应该呈现正在加载时的图像,当图片加载失败时应该呈现图片加载时的图像,当我们重新加载这张图片时,应该呈现重试时图像,直到这张图片加载完成。这些繁琐并且重复的如果得不到简化的话,那将是一个开发转载 2016-04-08 11:01:40 · 2519 阅读 · 2 评论