Android知识点
AndroidConqueror
奋斗不止,量变引起质变
展开
-
UniversalImageLoader不能加载本地图片的解决方法
Universal-Image-Loader无法通过绝对路径直接加载SD卡中的图片,比如:String imagePath = "/storage/emulated/0/Pictures/Screenshots/pic.png"如果直接这么用会失败:ImageLoader.getInstance().displayImage(imagePath, imageView);原创 2016-03-20 20:02:48 · 2488 阅读 · 0 评论 -
用handler发延时消息时最好设置设为static
一旦用handler发出延时的message,message会被保存在消息队列中,这段延时的时间,message会保持对handler的引用,导致handler无法被回收,使用handler的activity和service也无法被回收,即使onDestroy()方法被调用。这种情况应该把handler类修饰为static,这样handler类就是activity的静态内部类,静态内部原创 2016-04-13 17:06:36 · 1428 阅读 · 0 评论 -
AlertDialog点击按钮后对话框不消失的处理方法
我们在使用AlertDialog时,无论点击“确定”(PositiveButton)还是“取消”(NegativeButton),对话框都会消失,这其实是不合理的。如果遇到这种情况:AlertDialog里面有一个文本框,要求用户必须输入内容,但如果用户没有输入就点击了确定,这时对话框是不应该消失的,而是应该保留该对话框并提示用户必须输入文字。解决办法:final AlertDia原创 2016-04-13 17:35:38 · 15612 阅读 · 4 评论 -
Android的MVP框架
首先来说一下MVC和MVP的区别:MVC(Model-View-Controller),这种模式下三种模型的交互关系如下:缺点:view可以直接访问model(比如我们经常在activity中直接操作SQLite、SharedPreference中的数据),同时view中可能会包含业务逻辑(比如我们经常把一个点击事件的处理写在activity里,这样就使得view层和con原创 2016-05-17 16:24:00 · 510 阅读 · 0 评论 -
【持续更新】android易错知识点、相见恨晚的知识点整理
下面整理一下本人在android开发过程中遇到过的 易错知识点、相见恨晚的知识点,本帖会持续更新^_^1. ListView的item点击事件:public void onItemClick(AdapterView parent, View view, int position, long id)其中这个position参数,如果ListView有一个HeaderView,那么列表原创 2016-08-11 11:13:40 · 547 阅读 · 0 评论 -
listview数据错乱、重复的原因分析与解决方案
目前我们使用listview展示数据时,adapter的getView方法通常使用convertView.setTag(viewHolder)的方式来避免出现卡顿的情况,这种方式能使convertView得以复用,避免重复的调用inflate方法渲染界面。但是,如果使用不当,可能会出现数据错乱、重复的问题,比如下面这个demo:这个demo是要listview在偶数行只显示大写字母,在奇数行既显示大原创 2016-09-21 10:27:47 · 14429 阅读 · 5 评论 -
ListView和GridView列表滑动卡顿问题的优化方法汇总
ListView和GridView列表在滑动时出现卡顿现象困扰了很多开发者,下面我们来总结一下优化方案: 1. 使用ViewHolder在adapter的getView方法中对convertView setTag(viewHolder),这个是大部分开发者都会去用的方案,它的原理是避免重复通过inflate方法去渲染UI,只要set了tag,view就可以被重用,这里不做详细赘述了。 2. ge原创 2016-09-28 14:53:55 · 8419 阅读 · 0 评论 -
使用UncaughtExceptionHandler捕捉应用的crash信息
一个Android应用很难做到完全不会出现crash。当应用发生crash时,程序通常会无法继续运行,但如果能知道发生crash的原因,那么就可以修复问题。可是很多时候当产品发布后,用户在使用过程中发生了crash时,很难获取到crash的信息,使得问题代码没法被定位,这非常不利于产品的持续发展。我们可以通过实现UncaughtExceptionHandler这个接口来捕捉应用的crash信息。当应原创 2016-09-28 16:43:25 · 657 阅读 · 0 评论