关于Android Activity生命周期的例子
package com.andy.android;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
/**
* 测试Android Activity 生命周期
* @author Andy.Zhang
*
*/
public class TestAndroid extends Activity {
private static final String TAG = "TestAndroid";
@Override
public void onCreate(Bundle savedInstanceState) {
Log.i(TAG, "=======onCreate()========");
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
protected void onDestroy()
{
Log.i(TAG, "=======onDestroy()========");
super.onDestroy();
}
@Override
protected void onPause()
{
Log.i(TAG, "=======onPause()========");
super.onPause();
}
@Override
protected void onRestart()
{
Log.i(TAG, "=======onRestart()========");
super.onRestart();
}
@Override
protected void onResume()
{
Log.i(TAG, "=======onResume()========");
super.onResume();
}
@Override
protected void onStart()
{
Log.i(TAG, "=======onStart()========");
super.onStart();
}
@Override
protected void onStop()
{
Log.i(TAG, "=======onStop()========");
super.onStop();
}
}
通过在DDMS中查看日志信息:
06-28 02:14:08.760: INFO/TestAndroid(220): =======onCreate()========
06-28 02:14:09.005: INFO/TestAndroid(220): =======onStart()========
06-28 02:14:09.005: INFO/TestAndroid(220): =======onResume()========
06-28 02:14:09.321: INFO/ActivityManager(53): Displayed activity com.andy.android/.TestAndroid: 1687 ms (total 1687 ms)
06-28 02:14:09.641: ERROR/gralloc(53): [unregister] handle 0x497218 still locked (state=40000001)
06-28 02:14:16.840: INFO/ActivityManager(53): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10200000 cmp=com.android.launcher/.Launcher }
06-28 02:14:16.910: INFO/TestAndroid(220): =======onPause()========
06-28 02:14:17.090: WARN/BluetoothA2dp(116): Bluetooth A2DP service not available!
06-28 02:14:17.803: INFO/TestAndroid(220): =======onStop()========
06-28 02:14:20.141: INFO/ARMAssembler(53): generated scanline__00000077:03515104_00000000_00000000 [ 33 ipp] (47 ins) at [0x4b38c8:0x4b3984] in 849006 ns
06-28 02:14:20.180: INFO/ARMAssembler(53): generated scanline__00000177:03515104_00001001_00000000 [ 91 ipp] (114 ins) at [0x4b3988:0x4b3b50] in 742085 ns
06-28 02:14:21.560: INFO/ActivityManager(53): Starting activity: Intent { flg=0x10100000 cmp=com.andy.android/.TestAndroid }
06-28 02:14:21.611: INFO/TestAndroid(220): =======onRestart()========
06-28 02:14:21.611: INFO/TestAndroid(220): =======onStart()========
06-28 02:14:21.611: INFO/TestAndroid(220): =======onResume()========
06-28 02:15:09.771: WARN/KeyCharacterMap(220): No keyboard for id 0
06-28 02:15:09.771: WARN/KeyCharacterMap(220): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
06-28 02:15:09.911: INFO/TestAndroid(220): =======onPause()========
06-28 02:15:10.450: INFO/TestAndroid(220): =======onStop()========
06-28 02:15:10.450: INFO/TestAndroid(220): =======onDestroy()========
分享到:
相关推荐
9. **生命周期管理**:Android Activity和Fragment有自己的生命周期,理解并正确管理这些生命周期对于避免内存泄漏和保证应用稳定性至关重要。 10. **测试与调试**:开发者会使用单元测试、集成测试和UI测试来确保...
8. **生命周期管理**: Android应用的组件(如Activity和Service)有明确的生命周期,开发者需要理解何时保存和恢复状态,以及如何在组件间正确地处理回调。 9. **Android权限**: 如果应用需要访问如写入外部存储...
3. **Activity生命周期**:源码中的MainActivity或其他Activity类展示了Android Activity的生命周期方法,如onCreate()、onStart()、onResume()、onPause()、onStop()和onDestroy()。理解这些方法的工作原理对于优化...
6. **Android生命周期**:理解Activity和Service的生命周期方法,如onCreate()、onStart()、onResume()、onPause()、onStop()、onDestroy()等。 7. **版本控制**:源码可能包含了版本控制信息(如.git文件夹),你...
这个项目旨在帮助学生深入理解Android开发的基础知识,包括UI设计、数据存储、事件处理以及应用生命周期管理。 首先,我们要关注的是Android应用的基本结构。在Android开发中,一个应用程序通常由多个组件构成,如...
在Android平台上设计并实现一款“便签”应用是一项常见的任务,它涉及到许多核心技术和最佳实践。这款便签APP强调简约、...通过这个项目,开发者不仅可以提升技能,还能深入了解Android应用的生命周期和组件交互机制。
Android应用的Activity有明确的生命周期,NotePad源码展示了如何在各个生命周期方法中处理数据保存、恢复和用户交互。这对于确保应用的稳定性和响应性至关重要。 6. **事件处理**: NotePad使用Listener监听用户...
8. **生命周期管理**:理解并正确处理Activity和Fragment的生命周期是Android开发的基础。源码将展示如何在各个生命周期方法中进行适当的逻辑处理,以防止内存泄漏和状态丢失。 9. **测试与调试**:一个成熟的项目...
- **Activity生命周期**:源码中包含了Activity的各种状态管理和回调函数,如onCreate(), onStart(), onResume(), onPause(), onStop() 和 onDestroy(),这是理解Android应用运行流程的关键。 - **Intent机制**:...
Activity作为用户界面的主要承载,其生命周期管理、UI布局和事件处理是关键;Service用于后台运行任务,例如定时同步数据;BroadcastReceiver则处理系统或自定义广播事件;ContentProvider负责数据存储和共享,对于...
- Android便签应用通常会利用SQLite数据库来存储用户的便签数据。源码中会包含对数据库的操作,如创建表结构、插入、更新、查询和删除便签记录。了解如何使用`SQLiteOpenHelper`类以及`ContentProvider`对于理解和...
Android组件(如Activity、Service)有各自的生命周期,理解并合理管理生命周期对于避免内存泄漏和提高应用性能至关重要。例如,使用ViewModel保存界面状态,配合LiveData实现数据观察。 9. **Material Design** ...
9. **Android生命周期**:理解Activity和Fragment的生命周期,确保代码在正确的时间执行。 10. **Kotlin特性和语法**:如果源代码使用Kotlin编写,那么会涉及到Kotlin的特性,如高阶函数、扩展函数、数据类等。 ...
《Android便签APP开发详解》 在移动应用领域,便签类应用因其便捷性和实用性而深受用户喜爱。本文将深入探讨一个基于Android平台的便签应用程序的开发过程,结合"2021032804_android 便签app"这一项目源码,解析其...
除此之外,你还能学习到Android的生命周期管理,例如如何在Activity和Fragment之间正确地保存和恢复状态,以及如何在后台运行任务而不会影响用户界面,比如使用IntentService或JobScheduler。同时,源码可能还包含了...
6. **Activity生命周期**:在MainActivity中,可以看到如何管理Activity的生命周期,如onCreate、onStart、onResume、onPause、onStop和onDestroy等方法的使用。 7. **EventBus或LiveData**:为了实现组件间的通信...
通过分析这个便签应用的源码,我们可以学习到Android的生命周期管理、UI设计、数据存储、多Activity间的通信等关键知识点。同时,这也是提升Android开发技能和优化应用性能的良好实践。通过理解并修改源码,我们可以...
5. **Android生命周期**:在源码中,可以看到各个组件(如Activity、Fragment)的生命周期方法,如`onCreate()`、`onStart()`、`onResume()`等,理解这些方法的执行顺序对于优化应用性能至关重要。 6. **异步处理与...