- 博客(23)
- 收藏
- 关注
原创 困扰我多次的内存溢出问题终于解决了
viewpager+fragment +多图 简直要命,滑动到第10个fragment左右就会内存溢出说是内存溢出,其实是内存泄漏。图片加载开源库有很多,我用的是Glide,Glide会回收图片释放内存,然而如果该图片一直被imageview保持引用就会出现无法回收的状态,最终这些图片越来越多,导致内存溢出。然后要解决的问题就是在适当的时间释放掉这些引用。这里v
2015-12-04 17:28:28 23206 4
转载 java多态
class A { public String show(D obj) { return ("A and D"); } public String show(A obj) { return ("A and A"); } }
2014-12-16 16:26:38 403
原创 android-每日demo
ViewPager 的使用ViewPager的功能是让页面能随手势左右滑动而滑动。首先准备三张页面,layout1,layout2,layout3,代码如下;<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.
2014-01-08 11:36:53 585
原创 Android基础-LayoutInflater使用
LayoutInflater是布局扩展的意思,不过我喜欢叫它为布局管理器。第一步: 想要使用LayoutInflater必须有一个LayoutInflater对象,该对象不是通过new来创建,是由静态函数获得。LayoutInflater inflater = LayoutInflater.from(this); 第二步: 得到Layou
2013-10-14 20:06:23 457
原创 Android基础-自定义适配器
ArrayAdapter和SimpleAdapter无法满足很多要求,比如说这两种适配器无法对ListView中每一个item中的具体控件进行监听,也就是说这两种适配器只能对item进行监听,为此,我们需要另一种适配器来监听item中的控件,这类适配器叫做BaseAdapter,也是自定义适配器。第一步: 需要新建一个类,来继承BaseAdapter,并重载BaseAdap
2013-10-14 19:47:35 565
原创 Android基础-AppWidget入门
AppWidget就是我们平常在桌面上见到的那种一个个的小窗口,利用这个小窗口可以给用户提供一些方便快捷的操作。AppWidget创建: 第一步:在res文件夹下新建一个xml文件夹,用来专门存放.xml格式文件,再在xml文件夹下创建一个xml文件,取名为appwidget.xml,其代码如下: <appwidget-provider xmlns:androi
2013-09-22 02:39:38 642
原创 Android基础-Service(服务)
服务的作用和目标: 让应用后台运行; 让应用能够跨进程访问,实现不同进程之间的通信。(AIDL(Android Interface definition language)一种通信接口描述语言)注:服务没有自己的界面,长用于一些耗时操作,比如下载,播放音乐等。服务的生命周期(三个阶段): 创建服务(public void onCrea
2013-09-15 02:25:35 501
原创 Android基础-broadcastreceiver(广播接收器)
什么是broadcastreceiver? broadcastreceiver是一种在应用之间传输信息数据的一种机制。是Android四大组件之一。那么broadcastreceiver是如何实现应用间数据信息传递呢?先简单的描述一下,broadcastreceiver的名字已经说明它的原理,它就是一个广播。广播很容易理解,就是有人在广播里说了一条命令,然后一定范围内的人员听到了,判断是
2013-09-12 06:18:56 877
原创 Android基础-初遇Handler
今天看了一个关于Handler的视频,看的有点迷糊,就决定写一点东西记录下,加深下印象。----------------------------------------------------------------------------------------------------------------------------------------------首先,Handler
2013-09-07 05:20:47 643
原创 Android基础-intent详解
Intent (意图) 用于Activity之间的数据传递以及Activity之间的切换(这两者都可以在一个应用多个Activity之间实现,同样也适用于不同应用间的Activity。同一个应用的实现和不同应用间的实现区别在于后者需要通过action和Category实现,而前者可以通过action和为Intent添加参数实现)。一个Intent对象包含一组信息:Component
2013-09-05 07:52:13 507
原创 Android基础-适配器Adapter
Android里有一种组件叫做ListView,是一种十分重要的组件,比如说QQ安卓版里联系人那个界面就是用的ListView。而ListView有许多条目(item),适配器的作用就是将想要的信息布置在ListView的每一个条目(item)上。首先要说明的并不是某某适配器怎么用,或者是适配器有多少种等等,首先要说明的是,适配器该如何使用(除自定义适配器):用适配器只有两步,第一步,ne
2013-08-19 21:02:59 885
原创 Android基础-Cursor游标
Cursor称为游标,游标的概念很容易理解,假设有张3*3的表格,那游标的位置就在最左一列的左边,指向的是行,Cursor 是每行的集合。Cursor常用于数据库随机读写时。一些常用的Cursor方法:abstract boolean moveToFirst()//移动到首行abstract boolean moveToLast()//移动到尾行abstract bool
2013-08-18 14:04:53 1032
原创 Android四大组件-内容提供者
ContentProvider的作用是对外共享数据,其他应用能够通过ContentProvider对你应用中的数据进行添删改查,Android中除了ContentProvider外实现数据共享还有SharedPreferences,File,SQLite这三个。ContentProvider称为内容提供者,自然就有提供内容的一方,也有读取内容的一方。首先是提供内容的一方:第一步:需要继
2013-08-18 13:46:08 582
原创 Android基础-java的装饰模式
什么是装饰模式:按我的理解,装饰模式就相当于装潢,买了一个房子,里面有厨房,厕所,客厅等等,但是它们可能并不完全,比如说,客厅缺少沙发,厨房缺少餐具,装潢就是要将它们补全。而装饰模式就是相当于装潢,写代码不可能面面俱到,总有遗漏,去修改一个类,不如去添加一个新类,去补充。如何制造一个装饰模式:首先,我们需要一个接口,就像这样:public interface Person {
2013-08-16 15:28:22 586
原创 Android基础-java的IO流
首先按我的理解概括下java的IO流 java的IO流就相当于水管,而网络,待读文件,键盘等可以被看出是一个池塘,我称它为源池塘,而待写文件,网络上传,电脑屏幕等可以被称为另一个池塘,叫做目的池塘,我们所编写的java程序可以看作是一个中转站,java的I流可以看作是插在源池塘和中转站之间的水管,O流可以看作是插在中转站和目的池塘之间的水管。基本上每本教程都会写java的IO
2013-08-16 15:15:57 609
原创 Android学习笔记(五)相对布局(3)
上接Android学习笔记(五)相对布局(2)------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2013-08-15 11:19:20 538
原创 Android学习笔记(五)相对布局(2)
上接Android学习笔记(五)相对布局(1)中如何使用相对布局-------------------------------------------------------------------------------------------------------------------------------------------------------------相对布局属性:
2013-08-15 11:07:59 710
原创 Android学习笔记(五)相对布局(1)
什么是相对布局相对布局(RelativeLayout)是Android中布局的一种,是最常用也是最有用的一种UI布局方式。通过对某一控件(包含父控件)的位置来确定该控件的位置。为什么要用相对布局使用相对布局有两个好处:第一个是如果UI界面十分复杂,也就是控件相当之多的时候,使用线性布局就会使线性布局多重嵌套,导致UI加载速度变慢,应用程序变卡的现象,而使用相对布局则不会出现此类问题
2013-08-15 10:45:48 726
原创 Android学习笔记(四)layout_weight
layout_weight用于给一个线性布局中的诸多视图的重要度赋值,称为权值。所有的视图都有一个layout_weight值,默认为零。如果一个线性布局内含有两个TextView,他们的宽和高都为包裹内容,水平放置。那么这个线性布局就会呈现两个TextView水平放置,右侧是空白区域若果设置他们的layout_weight分别为1和2,则layout_we
2013-08-14 15:15:27 535
原创 Android学习笔记(三)checkbox和radiobutton
CheckBox与普通的textview并没有什么多大区别,不同之处在于CheckBox有一个不同的监听器,叫做OnCheckedChangeListener ,OnCheckedChangeListener 有两个参数,一个是CompoundButton,另一个类型是boolean,用于判断该多选框是否被选中。RadioButton一般以组的形式出现,所以RadioBut
2013-08-13 16:56:34 613
原创 Android学习笔记(二)距离单位
像素(px)屏幕的基本组成部分,是一个个小方块,若手机分辨率是480*800,则像素个数就有480*800个。dpi(dots per inch)指每英寸上像素个数dpi可以通过手机屏幕对角线上的像素个数除以手机屏幕英寸大小得到。dp = dip(Device Independent pixels)是Android开发最常用的单位之一。换算公式px = dp *
2013-08-13 11:16:47 597
原创 android学习笔记(一) View监听器
第一步获取代表控件的对象button = (Button)findViewById(R.id.button);第二步定义一个类,实现监听器接口class ButtonListener implements OnClickListener{ @Override public void onClick(View v) { } }这里要重写方法onC
2013-08-13 10:33:42 525
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人