Android
文章平均质量分 68
Abner_Niu
这个作者很懒,什么都没留下…
展开
-
Java,Android内存泄漏代码片段
public class MemoryLeakDemo extends Activity implements NewworkCallBack{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /**原创 2015-08-19 18:17:05 · 625 阅读 · 0 评论 -
为PopupWindow设置动画效果
原文: http://blog.csdn.net/starrexstar/article/details/7896835首先定义显示效果的动画文件:[html] view plaincopyxml version="1.0" encoding="utf-8"?> set xmlns:android="http://schemas转载 2015-07-02 10:57:41 · 463 阅读 · 0 评论 -
Android中Bitmap和Drawable
原文 http://dyh7077063.iteye.com/blog/970672一、相关概念1、Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象2、Canvas画布,绘图的目的区域,用于绘图转载 2015-05-23 22:59:05 · 352 阅读 · 0 评论 -
view measure 过程
ViewGroup.javameasureChildren(),该方法的参数widthMeasureSpec,heightMeasureSpec是该ViewGroup的父类传给它的,包含父类对其大小的限制信息,遍历每个child/** * Ask all of the children of this view to measure themselves, taking in原创 2015-05-19 14:31:35 · 527 阅读 · 0 评论 -
Android中Activity四种启动模式和taskAffinity属性详解
原文: http://www.xuebuyuan.com/1624447.html#title-5在android应用开发中,打造良好的用户体验是非常重要的。而在用户体验中,界面的引导和跳转是值得深入研究的重要内容。在开发中,与界面跳转联系比较紧密的概念是Task(任务)和Back Stack(回退栈)。activity的启动模式会影响Task和Back Stack的状态,进而转载 2015-06-22 22:10:47 · 1161 阅读 · 0 评论 -
Matrix0
原文 http://chroya.iteye.com/blog/712078Matrix ,中文里叫矩阵,高等数学里有介绍,在图像处理方面,主要是用于平面的缩放、平移、旋转等操作。 首先介绍一下矩阵运算。加法和减法就不用说了,太简单了,对应位相加就好。图像处理,主要用到的是乘法 。下面是一个乘法的公式: 在 Android转载 2015-06-01 18:38:49 · 393 阅读 · 0 评论 -
Android中传递对象的三种方法
转自: http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0104/2256.htmlAndroid中,Activity和Fragment之间传递对象,可以通过将对象序列化并存入Bundle或者Intent中进行传递,也可以将对象转化为JSON字符串,进行传递。序列化对象可以使用Java的Serializabl转载 2015-06-17 11:30:44 · 692 阅读 · 0 评论 -
android listview 异步加载图片并防止错位
网上看到的一个例子,使用LruCache,DiskLruCache进行内存,文件二级缓存图片,使用Tag防止ListView图片错位。我之前在pad项目上也使用过使用Lru进行两级缓存,我把getBitmapFromDisk部分的逻辑写在了AysncTask的doInBackground里,因为读取文件也是耗时操作,为防止ANR,故为之。原文:http://www.cnblogs.转载 2015-06-17 14:50:01 · 572 阅读 · 0 评论 -
与屏幕有关的设置:禁止横竖屏切换;横竖屏切换不重启Activity;动态设置横竖屏
1,禁止横竖屏切换在配置文件中写死原创 2014-11-19 18:07:59 · 2216 阅读 · 0 评论 -
AtomicInteger 使用
使用Android Relativelayout动态添加child view时,设置id时,sdk 17提供了一个生成id的方法 private static final AtomicInteger sNextGeneratedId = new AtomicInteger(1); /** * Generate a value suitable for use in {@原创 2015-06-30 11:03:27 · 512 阅读 · 0 评论 -
Property Animation 源码学习
ValueAnimator.java /** * This method is called with the elapsed fraction of the animation during every * animation frame. This function turns the elapsed fraction into an interpolated f原创 2015-07-29 15:14:34 · 425 阅读 · 0 评论 -
Android性能优化-内存
内存方面遇到的问题常有OOM,内存泄漏。实际上JVM的GC对性能的影响也很大。GC时正在运行的线程会暂停,如果此时正在执行动画,那就有可能导致跳帧,对用户来说,看到的就是动画卡顿。应该避免使JVM频繁地GC。参考文章 Android性能优化之内存篇 。内存泄漏是指仍然引用不再使用的对象,从而导致GC无法回收,导致可用内存减少,导致频繁GC,导致性能问题。3种内存测量的原创 2015-08-18 09:08:20 · 611 阅读 · 0 评论 -
Android动画总结
最近一周系统看了Android动画方面的知识点,总结成一篇文章,供网友参考,也供日后自己复习使用。Android系统提供了两类动画,View动画和Property动画。View动画从API level 1就有,Property动画从API level 11引入的。理解View动画Tween 动画View动画包括Tween 动画和 Frame动画。Tween 动画是指原创 2015-08-01 10:01:20 · 446 阅读 · 0 评论 -
android Service 总结
概述Service是一种没有UI界面,在后台执行长期任务的系统控件。Service可以用于IPC。android:exported false,Service只供自己应用使用;true 可以被其他应用使用android:process 指定服务所在的进程,默认当前应用所在进程Foreground Service前台Service意味着用户知道Service原创 2015-08-11 15:53:38 · 541 阅读 · 0 评论 -
android消息处理机制
Android消息处理涉及到的类有Looper,MessageQueue,Handler,Thread。下面看下它们之间的关系。Looper默认Thread是没有message loop的,要创建一个,在Thread的run()中执行Looper.prepare(),使它跑起来处理消息,调用Looper.loop(),直到loop quit。下面是示例代码 class Loope原创 2015-08-10 17:17:50 · 433 阅读 · 0 评论 -
IntentServie源码解析
IntentService是Service的子类,默认Service运行在应用所在进程的主线程中,如果要在后台执行耗时任务,需要创建子线程,IntentService即可以满足这样的需求,它封装了一个work-thread,处理接收到的Intent,它可以处理多个请求,但一次只能处理一个。下面看下它的源码。 /** * Creates an IntentServic原创 2015-08-10 11:10:49 · 584 阅读 · 0 评论 -
ThreadLocal源码解析
挖坑原创 2015-08-10 15:15:39 · 406 阅读 · 0 评论 -
HandlerThread源码解析
HandlerThread是带Looper的Thread,looper可用于创建Handler,这样就拥有一个在后台long-running的worker-thread,通过Handler给其发送消息,worker-thread收到消息后再回调Handler的handleMessage(),开启HandlerThread,仍需要start(),除非调用HandlerThread的quit(),或者原创 2015-08-10 11:36:33 · 431 阅读 · 0 评论 -
AsyncTask源码分析
AsyncTasks should ideally be used for short operations (a few seconds at the most.) If you need to keep threads running for long periods of time, it is highly recommended you use the various APIs pr原创 2015-07-16 16:08:25 · 497 阅读 · 0 评论 -
ScrollView 滚动到最后/前/上/下
ScrollView.fullScroll(int direction):Handles scrolling in response to a "home/end" shortcut press. This method will scroll the view to the top or bottom and give the focus to the topmost/bottommos原创 2014-10-16 13:33:03 · 1453 阅读 · 0 评论 -
处理运行时系统设置变化(Handling Runtime Changes)
许多系统设置可以在运行时改变(RunTime),比如原创 2014-11-18 20:19:41 · 682 阅读 · 0 评论 -
android 中如何限制 EditText 最大输入字符数
原文方法一:在 xml 文件中设置文本编辑框属性作字符数限制如:android:maxLength="10" 即限制最大输入字符个数为10方法二:在代码中使用InputFilter 进行过滤//editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(转载 2014-09-02 13:06:51 · 569 阅读 · 0 评论 -
ViewStub的使用
原文 http://blog.csdn.net/hitlion2008/article/details/6737537 在开发应用程序的时候,经常会遇到这样的情况,会在运行时动态根据条件来决定显示哪个View或某个布局。那么最通常的想法就是把可能用到的View都写在上面,先把它们的可见性都设为View.GONE,然后在代码中动态的更改它的可见性。这样的做法的优点是逻辑简单而转载 2014-07-02 13:51:38 · 503 阅读 · 0 评论 -
标签merger和include的使用
merge的作用是优化UI结构,合并重复的布局节点。(似乎只能用在当给Activity设置contentview时,如果该contentview的根布局是Framelayout,那就可以用merge替换Framelayout,从而将contentview内的控件放置在contentview的父布局Framelayout中,因为都是Framelayout所以不影响布局。如果此时contentv的根布原创 2014-07-01 17:15:39 · 809 阅读 · 0 评论 -
Android 获取屏幕尺寸与密度
android中获取屏幕的长于宽,参考了网上有很多代码,但结果与实际不符,如我的手机是i9000,屏幕大小是480*800px,得到的结果却为320*533结果很不靠谱,于是自己写了几行代码,亲测一下测试参数:测试环境: i9000(三星)物理屏幕:480*800pxdensity :1.5测试代码:[java] view转载 2014-06-30 18:18:32 · 590 阅读 · 0 评论 -
android 屏幕适配
就布局文件内部而言,尽量用相对布局,使用dpi原创 2014-06-16 18:05:42 · 492 阅读 · 0 评论 -
Drawable Resource 使用笔记
Layer List管理一组drawable,在List中最后一个显示在最上面。一个 element 代表一个drawable。显示位置由属性指定。<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@[pac原创 2014-03-13 18:04:59 · 693 阅读 · 0 评论 -
Android Animation
两大类Property Animation 和 View AnimationProperty Animation:res/animator/filename.xml 中,定义了对目标对象的属性在一定时间内的改变,比如background color ,arpha value有3种element ValueAnimator ObjectAnimator Anim原创 2014-04-03 18:12:05 · 603 阅读 · 0 评论 -
ListView 使用笔记
在ScrollView 里面包含有一个ListView时,ListView只能显示一行多一点。原因是ScrollView无法计算ListView的高度。解决办法是在代码中计算ListView的高度。 ListView listview = (ListView) findViewById(R.id.lv); listview.setAdapter(adapter); setLi原创 2014-03-12 18:14:10 · 559 阅读 · 0 评论 -
android自定义控件
自定义控件有x原创 2014-06-15 13:19:59 · 439 阅读 · 0 评论 -
android的异步消息处理机制
android的异步消息处理机制涉及到的关键点有:异步消息处理线程,MessageQueue,Looper,Handler。普通线程在执行完run方法后就结束了,但异步消息处理线程启动后会进入“无限循环”中,去消息队列中取消息,如果没有消息则线程挂起,直到有新消息,如果有则取出消息调用消息处理回调函数去处理。异步消息处理线程的应用场景:1,任务需要常驻,比如处理任务交互的任务。2,原创 2014-06-15 22:45:47 · 461 阅读 · 0 评论 -
Popup Window 使用
参考了网上童鞋的作法,仔细研究了Popup Window 的用法,在此和大家分享下。public class MainActivity extends Activity { private Button bt_order; private PopupWindow popupWindow; private LinearLayout layout; private List原创 2014-03-28 15:06:54 · 960 阅读 · 0 评论 -
自动弹出键盘
final EditText editText = (EditText) content.findViewById(R.id.edit); editText.postDelayed(new Runnable(){ @Override public void run() {// editText.requestFocus(); I原创 2014-08-27 11:41:01 · 552 阅读 · 0 评论 -
通過XML設置屏幕方向(android:screenOrientation)详解
原文 http://blog.csdn.net/zeng622peng/article/details/6572115转载 2014-08-27 15:39:34 · 594 阅读 · 0 评论 -
Android中View的绘制过程 onMeasure方法简述 附有自定义View例子
转自 Android中View的绘制过程 onMeasure方法简述 附有自定义View例子转载 2014-07-11 13:43:08 · 400 阅读 · 0 评论 -
ViewGroup.LayoutParams
LayoutParams are used by views to tell their parents how they want to be laid out.转载 2014-07-11 13:56:47 · 436 阅读 · 0 评论 -
带删除按钮的EditText实现
EditText的四周可以设置drawable原创 2014-07-07 18:21:29 · 652 阅读 · 0 评论 -
IntentService使用
看IntentService源码,onCreate方法原创 2014-06-15 23:28:15 · 587 阅读 · 0 评论 -
理解Fragment生命周期
官网帮助文档链接: http://developer.android.com/guide/components/fragments.html主要看两张图,和跑代码一,Fragment的生命周 二,与Activity生命周期的对比 场景演示 : 切换到该Fragment11-29 14:26:35.095: D/转载 2014-06-16 18:50:41 · 513 阅读 · 0 评论 -
ContentProvider 学习
ContentProvider 主要用于应用间数据共享(也能说是进程间数据共享)。ContentProvider 和ContentResolver 提供了类似一组标准的接口,前者负责数据提供,通过后者来访问前者提供的数据。ContentProvider 类似服务端,ContentResolver类似客户端。ContentProvider 下面的数据一般对应sqlite数据库里的数据。(我想原创 2014-02-19 17:45:14 · 620 阅读 · 0 评论