android重新打开应用程序,重新打开应用程序时未调用Android Application-> onCreate()...

public class MyApplication extends Application{

@Override

public void onCreate()

{

super.onCreate();

Log.d("*******:", "onCreate");

}}

public class MainActivity extends ActionBarActivity{

@Override

protected void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}}

android:name=".MyApplication"

android:allowBackup="true"

android:icon="@mipmap/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

android:name=".MainActivity"

android:label="@string/app_name" >

当第一次打开此应用程序时,MyApplication中的onCreate()方法已被调用,但是当我完成Activity(按Back Button),然后重新打开应用程序时,我发现MyApplication中的onCreate()方法未被调用.

奇怪的是,如果我在系统背景中“杀死”应用程序,然后重新打开它,我发现可以再次调用onCreate()方法.

我不知道为什么,我想在用户重新打开我的应用程序时获取操作,有人可以帮忙吗?谢谢!

解决方法:

您的MyApplication正在扩展应用程序.因此,当应用程序在内存中重新打开应用程序时,不会调用onCreate

如果它正在扩展Activity,则在重新打开时将调用onCreate

标签:android,oncreate

来源: https://codeday.me/bug/20190724/1527480.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Java的Android应用程序开发-24点游戏源码+详细项目说明.zip 基于Java的Android应用程序开发-24点游戏源码+详细项目说明.zip 基于Java的Android应用程序开发-24点游戏源码+详细项目说明.zip 【项目介绍】 该资源内项目代码都是经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶, 或者实际项目借鉴参考! 当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。如果基础还行,也可在此代码基础上进行修改,以实现其他功能。 项目简介 已知一副扑克牌有54张,去除大王和小王,剩余52张。在其中抽取4张牌,利用加减乘除进行计算得到24,除法必须能够除尽。编写程序从一副扑克牌,选择4张,进行计算是否能得到24。如果可以,排序列出可能的计算表达式,可能有多种计算形式。 **实现功能** - 在界面上显示出52张扑克牌。 - 通过点击的方式选出4张扑克牌并放置在界面某一个地方,位置自己确定。 - 如果可以计算出24,排序列出可能的计算方式,并显示在界面上,如果不能算出,请提示。 - APP界面自行设计,至少包含两个界面。 - 界面美观度,功能完整度,扩展性功能,程序稳定性。 ## 2、项目实现 ### 2.1、设计思想 **卡片选取功能的实现方法:** “计算24点”上一共有56个ImageView,其中有52个显示扑克牌,按照扑克牌的花色以及点数有序排列。界面下方4个ImageView为卡片空位。当点击扑克牌时,设置ImageView的clickListener将当前所点击的卡片设置为隐藏状态,并将下方的空白卡片图片设置为所选择的扑克牌。 程序使用一个容量为4栈用于存储当前所选择的卡片。当点击“back”时弹出栈上方的卡片,并将弹出的卡片对应的ImageView设置显示,并将界面下方对应的卡片设置为空白卡片,即实现了卡片的退出功能。当点击“clear”时清空栈,并同时设置对应的ImageView,即实现清空卡片功能。点击“get 24pints”时调用“Point24”类的“get24pointequ”函数获取24点表达式,并显示在弹窗上。若无法组成24点表达式,便提示用户。 **获取24点表达式的算法思路:** 首先从4个数字中有序地选出2个数字,并选择加、减、乘、除 4 种运算操作之一,用得到的结果取代选出的2个数字,剩下3个数字。然后在剩下的3个数字中有序地选出2个数字,并选择 4 种运算操作之一,用得到的结果取代选出的2个数字,剩下2个数字。最后剩下2个数字,有2种不同的顺序,并选择4种运算操作之一。 因此,可以通过回溯的方法遍历所有不同的可能性。使用一个列表存储目前的全部数字,每次从列表中选出2个数字,再选择一种运算操作,用计算得到的结果取代选出的2个数字,这样列表中的数字就减少了1个。重复上述步骤,直到列表中只剩下1个数字,这个数字就是一种可能性的结果,如果结果等于24,则说明可以通过运算得到24。如果所有的可能性的结果都不等于24,则说明无法通过运算得到24。 除法运算为实数除法,因此结果为浮点数,列表中存储的数字也都是浮点数。在判断结果是否等于 24 时需要考虑精度误差,当误差小于10-6 时可以认为是相等。 进行除法运算时,除数不能为0,如果遇到除数为0的情况,则这种可能性可以直接排除。 总结与体会 通过学习开发扑克牌计算24点app,了解了android studio开发的基本原理。学习了android程序的运行过程。一个进程创建时系统会为它创建一个Activity(活动),紧接着调用onCreate(),onCreate()中主要是进行一些初始化,例如读取XML资源文件创建布局,设置主界面各种监听函数等等,每个进程都会调用onCreate()。 接着是onStart(),系统会自动调用;但是,当需要在程序中需要创建其他的activity的时候,需要显式调用这个onStart(),即startActivity(intent),这里的intent表示一个意图,就是想创建的新Activity。 还学习了android的一些基本组件,例如:id,控件的唯一表示符,在同一个XML文件中不可重复,相当于身份证的作用,课用来寻找并且绑定此控件;layout_width以及layout_height,分别设置view的宽高;gravity指定当文本小于视图时如何通过视图的 x 和/或 y 轴对齐文本
Android应用程序的生命周期指的是应用程序从启动到关闭的整个过程,包括各种状态的变化。Android系统会根据应用程序的生命周期来管理应用程序的资源,优化系统性能和用户体验。 Android应用程序的生命周期主要包括以下几个状态: 1. 创建状态(Created):当应用程序第一次启动时,系统会创建一个应用程序对象,并调用onCreate()方法进行初始化。 2. 启动状态(Started):当应用程序进入启动状态时,系统会调用其onStart()方法。 3. 可见状态(Resumed):当应用程序进入可见状态时,系统会调用其onResume()方法。此时应用程序处于前台,用户可以与其进行交互。 4. 暂停状态(Paused):当应用程序进入暂停状态时,系统会调用其onPause()方法。此时应用程序仍然可见,但失去了焦点,无法与用户进行交互。 5. 停止状态(Stopped):当应用程序进入停止状态时,系统会调用其onStop()方法。此时应用程序已经不再可见,但仍然存在于内存中。 6. 销毁状态(Destroyed):当应用程序被销毁时,系统会调用其onDestroy()方法。此时应用程序已经完全退出,释放了所有资源。 在应用程序的生命周期中,系统还会发生以下几种状态变化: 1. 重启状态(Restarted):当应用程序从后台重新进入前台时,系统会调用其onRestart()方法。 2. 保存状态(SaveInstanceState):当应用程序被销毁时,系统会调用其onSaveInstanceState()方法,用于保存应用程序的状态。 3. 恢复状态(RestoreInstanceState):当应用程序重新启动时,系统会调用其onRestoreInstanceState()方法,用于恢复应用程序的状态。 了解Android应用程序的生命周期对于开发高质量的应用程序非常重要。开发者应该根据应用程序的不同状态,合理地管理应用程序的资源,提高应用程序的性能和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值