Android官方推荐全局对象传递数据
虽然使用静态变量可以传递任何类型的数据,但官方并不建议这样做。如果在类中有大量使用静态变量(尤其是使用很占资源的变量,例如,Bitmap对象)可能会造成内存溢出异常,而且还可能因为静态变量在很多类中出现而造成代码难以维护和混乱,因此,用全局对象可以进行传递,这种方式可以完全取代静态变量。
Android中的全局对象作用域:除非将Android程序彻底清除出内存,否则全局对象将一直可以访问。
1.首先建一个全局类:
package cn.jiabin.demo.view; import android.app.Application; public class MyApplication extends Application { public String name; public int age; }
2.将这个全局类配置到AndroidManifest.xml文件中:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cn.jiabin.demo.view"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:name=".MyApplication" >
<activity
android:label="@string/app_name"
android:name=".MyDemoActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".A" />
</application>
</manifest>
3.在正常的类中使用:
MyApplication myApp = (MyApplication) getApplication(); myApp.name = "张三"; myApp.age = 23;
官方推荐这种方式传递数据。
版权所有,如需转载,注明出处,谢谢合作。沈阳--斌子。
注明:QQ技术交流群:108614806 感兴趣的加一下。
android 技术交流QQ群:108614806