首页 > 代码库 > Android Application
Android Application
Android Application类简介
每次程序运行时,应用程序Application类都保持实例化状态,通过扩展Application类可以完成:
1、共享数据,在应用程序组件之间传递对象
2、对系统广播做出响应(如低内存)
3、管理和维护多个应用程序组件使用的资源
每个应用程序都会生成一个唯一的Application,由系统生成。
如果没有重写,那么程序会使用Android默认的Application类
扩展自己的Application
1、继承
public class MyApplication extends Application
2、将MyApplication 单例化
1 import android.app.Application; 2 import android.util.Log; 3 4 public class MyApplication extends Application{ 5 //将一些公共数据放在这里 6 public User user = new User(); 7 8 //当应用程序被系统启动后,会调用onCreate() 9 @Override10 public void onCreate() {11 super.onCreate();12 Log.e("MyApplication", "系统调用了我们的MyApp");13 }14 //用户15 class User{16 17 }18 }
3、配置
1 <application 2 android:name="com.test.lesson3_application.config.MyApplication" 3 android:allowBackup="true" 4 android:icon="@drawable/ic_launcher" 5 android:label="@string/app_name" 6 android:theme="@style/AppTheme" > 7 <activity 8 android:name=".MainActivity" 9 android:label="@string/app_name" >10 <intent-filter>11 <action android:name="android.intent.action.MAIN" />12 13 <category android:name="android.intent.category.LAUNCHER" />14 </intent-filter>15 </activity>16 </application>
MainActivity
1 import com.test.lesson3_application.config.MyApplication; 2 3 import android.app.Activity; 4 import android.os.Bundle; 5 import android.util.Log; 6 7 public class MainActivity extends Activity { 8 9 @Override10 protected void onCreate(Bundle savedInstanceState) {11 super.onCreate(savedInstanceState);12 setContentView(R.layout.activity_main);13 14 Log.e("MainActivity", "MainActivity onCreate");15 MyApplication myapp = (MyApplication) getApplication();16 17 if(myapp.user == null){18 Log.e("MainActivity", "用户还没有登录");19 }else {20 Log.e("MainActivity", "已经有用户");21 }22 23 }24 25 }
可见MyApplication先打印出来
应用程序的生命周期
onCreate:做一些初始化操作。创建应用程序时,系统会调用onCreate
onLowMemory:在系统处于资源匮乏状态时,具备良好行为的应用可以释放额外额内存
onTrimMemory:API4.0后引入,系统会根据不同的内存状态类回调
onConfigurationChanged:在配置改变时,进行处理
Android Application
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。