Android Fragment学习

昨天写了一篇关于Fragment的使用优化的技巧,一是减少成员变量的重新赋值,二是使用hide()、show()等方法替代replace(),这样片段就不需要多次创建,但是,这样也带来了另外一个问题,这是我昨天没有考虑到的,那就是内存的使用上,只隐藏而不销毁,在内存的使用上并不合理,一些小的项目上也许并看不出什么问题,但是一旦在大型的项目这么做的话,可能会引起内存不足,所以怎么使用看大家怎么取舍。另外,还要改正昨天我的一个错误,那就是replace()会引起耗时操作,这么讲其实是不准确的,耗时主要是因为片段的初始化耗时引起,今天我用一个空白的片段进行切换,发现并没有引起耗时,从而打翻了我昨天下的结论,再次从片段的生命周期上查看,发现onCreatView调用结束后并不是直接调用onResume的,中间还需要调用它的其他生命周期的方法,还包括Activity的onStart和onResum,所以,耗时操作应该是由Android内部的一些代码执行引起,时间有限,所以也不用深究底层,只要注意,当我们遇到片段卡顿的情况,有两种优化方法,一个是缓存片段,一个是缩短初始化的时间。

好了,另外就是昨天说到FragmentTabHost经行片段切换,昨天才说看不到源码,今天我就在老师的指导下找到了源码,从而也了解到了片段在FragmentTabHost里面的切换模式,首先奉上源码路径,可能大家都知道,就是

sdk\extras\android\support\v4\src\java\android\support\v4\app。这个路径下大家可以找到v4包的源码,方便我们学习。当然其他像v7包的大家也可以找到,开源就是好。至于这个类怎么进行片段管理,由于只是粗粗一看,不好拿出来说,就等下回了。因为没什么写博文的经验,准备的不是很充分,代码也没贴出来,让人看起来颇为吃力,只能说声sorry了,今后努力改进。

时间: 2024-10-16 06:12:10

Android Fragment学习的相关文章

【转】android fragment 学习

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37970961 自从Fragment出现,曾经有段时间,感觉大家谈什么都能跟Fragment谈上关系,做什么都要问下Fragment能实现不~~~哈哈,是不是有点过~~~ 本篇博客力求为大家说明Fragment如何产生,什么是Fragment,Fragment生命周期,如何静态和动态的使用Fragment,Fragment回退栈,Fragment事务:以及Fragment的一些特

Android Fragment学习总结

Fragment家族常用的API: Fragment常用的三个类: android.app.Fragment主要用于定义Fragment android.app.Fragmentmanager 主要用于在Activity中操作Fragment android.app.FragmenTransaction 保证一些列Fragment操作的原子性. 1.获取FragmentManager的方式: FragmentManager fm = getFragmentManager(); //获取Fragm

android fragment 博客 学习记录

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37992017 上篇博客中已经介绍了Fragment产生原因,以及一些基本的用法和各种API,如果你还不了解,请看:Android Fragment 真正的完全解析(上). 本篇将介绍上篇博客提到的:如何管理Fragment回退栈,Fragment如何与Activity交互,Fragment与Activity交互的最佳实践,没有视图的Fragment的用处,使用Fragment创

Android Fragment应用实战,使用碎片向ActivityGroup说再见

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/13171191 现在Fragment的应用真的是越来越广泛了,之前Android在3.0版本加入Fragment的时候,主要是为了解决Android Pad屏幕比较大,空间不能充分利用的问题,但现在即使只是在手机上,也有很多的场景可以运用到Fragment了,今天我们就来学习其中一个特别棒的应用技巧. 很多手机应用都会有一个非常类似的功能,即屏幕的下方显示一行Tab标签选项,点击不

疯狂Android讲义 - 学习笔记(四)

Android应用通常有多个Activity,多个Activity组成Activity栈,当前活动的Activity位于栈顶.Activity相当于Java Web开发的Servlet.当Activity处于Android应用运行时,同样受系统控制.有生命周期. 4.1 建立.配置和使用Activity 4.1.1 Activity 建立自己的Activity需要集成Activity基类,在不同的应用场景,有时也能集成Activity的子类. Activity间接或直接继承了Context.Co

Android WebView学习

Android WebView学习 权限: <uses-permission android:name=“android.permission.INTERNET” /> 在WebView中使用JavaScript WebView myWebView = (WebView) findViewById(R.id.webview);WebSettings webSettings = myWebView.getSettings();webSettings.setJavaScriptEnabled(tr

我的Android 4 学习系列之创建用户基本界面

目录 使用视图和布局 理解Fragment 优化布局 创建分辨率无关的用户界面 扩展.分组.创建和使用视图 使用适配器将数据绑定到视图 使用视图和布局 1. Android UI 几个基本概念 视图: 所有可视界面的元素(通常称为控件或者小组件)的基类.所有的UI控件(包括布局类)都是由 View 派生而来的. 视图组:视图类的扩展,可以包含多个子视图.通过扩展ViewGroup类,可以创建由多个相互连接的子视图组成复合控件:还可以通过扩展ViewGroup类来提供布局管理器,以帮助在Aciti

【Android开发学习笔记】【第三课】Activity和Intent

首先来看一个Activity当中启动另一个Activity,直接上代码说吧: (1)首先要多个Activity,那么首先在res-layout下新建一个 Other.xml,用来充当第二个Activity的布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu

Android:日常学习笔记(8)———探究UI开发(2)

Android:日常学习笔记(8)---探究UI开发(2) 对话框 说明: 对话框是提示用户作出决定或输入额外信息的小窗口. 对话框不会填充屏幕,通常用于需要用户采取行动才能继续执行的模式事件. 提示: Dialog 类是对话框的基类,但您应该避免直接实例化 Dialog,而是使用下列子类之一: AlertDialog此对话框可显示标题.最多三个按钮.可选择项列表或自定义布局. DatePickerDialog 或 TimePickerDialog此对话框带有允许用户选择日期或时间的预定义 UI