`
AndyZhao
  • 浏览: 4937 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

android容易忽略的技术细节

阅读更多
1:在onPause()中进行数据持久化。activity的生命周期为onCreate()---->onRestart()----->onStart()------>onResume()------>onPause()-------->onStop()------>onDestroy(),其中onCreate()、onRestart()、onStart()、onResume()执行结束后不能立即结束进程,所以onPause()是结束进程前最后一个一定会被调用的方法。因为当系统紧急需要恢复内存时,onStop()和onDestroy()方法可能不被调用。所以,你应该用onPause()去做数据持久化。
 
2:app包中的fragment和v4包中的fragment的使用的区别:
(1)app包中的fragment是在3.0之后才有的,支持的版本高,在低版本中是是用不了的;
(2)android.support.v4.app.Fragment:可以兼容到1.6的版本;
(3)关于这两个fragment使用<fragment>标签的问题
         [1].app.fragment和v4.fragment都是可以使用<fragment>标签的,只是在使用的时候,如果是app.fragment则没有什么特殊的地方继承,Activity即可;
         [2].当v4.fragment使用<fragment>标签的时候,Activity必须继承FragmentActivity,否则就会报错( Caused by: java.lang.ClassCastException: com.example.android_fragment_bottom.fragments.TopBarFragment cannot be cast to android.app.Fragment)。
3:如果想在switch中使用字段名,则字段必须为final;
4:BroadcastCastReceiver中的onReceive(context,intent)方法,通常只在主线程中使用,所以不能在这个方法中执行耗时长的操作(10秒的限制)。你也不能在这个方法中启动一个popup dialog。
 
5:在主线程中更新UI界面,如果是在需要跟工作线程交互,使用Handler是一个比较好的选择,但更好的是使用AsyncTask;
0
0
分享到:
评论

相关推荐

    基于Android的Linphone二次封装简易通话软件设计源码

    该项目的开发和使用,不仅降低了使用Linphone进行Android通讯软件开发的技术门槛,也为希望快速进入市场的开发者提供了便利。开发者可以利用这些源码作为起点,进一步开发出更符合自己需求的通讯应用程序。同时,...

    The Java API to Android’s Telephony Stack

    这些内容虽然对于开发者来说非常重要,但很容易让人忽略Android最基础的功能——电话功能。因此,本文将重点介绍Android中的电话功能,即Telephony Stack。 ### Telephony Stack的核心组件 Telephony Stack主要...

    基于Java实现的微信风格Android图片多选库设计源码

    在技术层面,本库采用Java进行开发,Java作为Android开发的官方语言,拥有成熟稳定的生态系统和丰富的开发资源,这为项目提供了良好的技术支持。同时,项目遵循Android开发的最佳实践,使用Gradle作为自动化构建工具...

    android小知识

    在Android开发的学习过程中,往往有许多细节容易被初学者忽略,但这些小知识在实际应用中却扮演着重要的角色。以下是一些关于Android开发的关键知识点,它们涵盖了从基础概念到高级特性的各个方面,希望能帮助你更好...

    基于Android的学生学习打卡监督系统APP设计开题报告

    当代大学生在社交网络的影响下,容易分心,忽略学习。"督督"学习打卡系统通过设定学习目标、定时提醒和好友监督,帮助学生建立良好的学习习惯,提高自我管理能力。 2. **文献综述**: - 《Java核心技术》(昊...

    基于Java的SqlBean-Android轻量级SQLite插件设计源码

    首先有12个Markdown文档,这种文档格式通常用于编写技术文档,提供清晰的阅读体验和方便的格式化,可以预料到这些文档中包含了项目的使用说明、设计思想和可能的API文档等内容。其次有9个Java源文件,它们是该插件的...

    java和android面试题

    - **定义**:抽象是指在程序设计过程中,忽略一个主题中与当前目标无关的那些方面,以便更充分地关注与当前目标相关的方面。抽象的目的是简化问题,使其更容易理解和管理。 - **分类**: - 过程抽象:定义方法的...

    2017毕业设计基于android的测量程序设计.zip

    毕业设计的具体代码实现细节、数据处理算法和用户交互流程等内容无法从给定文件信息中得知,但可以肯定的是,这是一项结合了现代移动技术与传统测量学的创新工作,既体现了技术的发展趋势,也展现了将技术应用于实际...

    E2021022(全套资料)基于STM32的燃气泄漏上位机检测系统.docx

    在当今快节奏的生活中,人们容易忽略诸如煤气关闭等细节问题,因此迫切需要可燃气体监测设备。 文档详细分析了国内外可燃气体泄漏监测系统的现状与发展趋势,探讨了业务逻辑,并且详细说明了系统需要解决的问题。...

    心情记事本

    在这个快节奏的时代,人们常常忙于工作,容易忽略生活的细节,而心情记事本提供了一个温馨的平台,让用户随时随地保存自己的心情、想法和珍贵瞬间。 在设计上,心情记事本注重用户体验和易用性。首先,文字记录功能...

    基于Room数据库的Kotlin/Java记事本设计源码

    本项目是一个利用最新技术构建的Android记事本应用,其源码不仅包含基础的业务逻辑实现,还融入了数据库设计、用户界面设计和自动化构建等多个方面的内容。它不仅提供了一个记事本应用的完整实现,也能够作为一个...

    基于Java语言的网易云音乐风格歌词控件设计源码

    在技术实现上,Java语言作为Android开发的主流语言之一,其稳定性和成熟的生态为开发提供了良好的基础。使用Java进行Android应用开发,开发者可以充分利用Android SDK提供的丰富API,以及Java语言本身的强大功能,如...

    OurChat-Rust资源

    Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。它允许开发者使用一套代码库来创建美观且响应迅速的原生界面,这一点对于跨平台应用开发尤为重要。而Rust是一种系统编程语言,注重...

    手机开发秘笈

    随着硬件技术的进步,虽然很多低效的代码可以在当前设备上正常运行,但这并不意味着可以忽略性能问题。良好的性能优化不仅能提升用户体验,还能降低能耗,延长设备电池寿命。 #### 10. 了解目标用户 了解自己的...

    AndroidCleanMVP

    在Android中,Presenter通常持有对Model的引用,这样可以确保Model层的业务逻辑独立于UI,而View通常通过接口与Presenter交互,这使得单元测试变得容易。 **Clean Architecture** Clean Architecture是一种软件架构...

    BertschInnovationMobileAppFront

    【描述】项目描述中未提供具体的技术细节,但我们可以推断,"BertschInnovationMobileAppFront"可能采用了现代前端框架或库,如React或Angular,这些框架通常与TypeScript配合使用以提高代码质量和可维护性。...

    CyTrack

    4. **互操作性**:Kotlin 可以直接调用 Java 代码库,使得迁移现有项目变得更加容易。 5. **函数式编程支持**:Kotlin 支持高阶函数、lambda 表达式和协程,适合编写简洁高效的并发代码。 **可能的项目结构** 由于...

    kisan_otp_react_native:一键otp设施,用于kisan(react native)

    6. `node_modules`:包含项目依赖的所有第三方库,可能在源码压缩包中被排除在外,因为它们较大且容易通过npm或yarn重新安装。 【开发流程】 1. 克隆或下载此项目到本地。 2. 安装必要的依赖,如`react-native`, `...

    YYjia安卓应用市场网站系统(YYjiacms) v2.1 正式版

    目前市场上的应用市场都忽略了用户中心的重要性,YYjiaCMS将开发者中心全面升级为用户中心,能降低内容生产门槛,让普通用户也能贡献内容。 实时应用评论 完美体验 自动搜索调用应用的所有评论,实时同步。更大的...

    test201521:测试

    描述中并没有提供过多的技术细节,但鉴于标签是"Java",我们可以推测这是一个与Java编程语言相关的项目。"test201521-master"可能表示这是项目的主分支或者源代码仓库的主目录。 **Java编程语言** Java是一种广泛...

Global site tag (gtag.js) - Google Analytics