关闭

Android官方推荐全局对象传递数据

2577人阅读 评论(0) 收藏 举报

虽然使用静态变量可以传递任何类型的数据,但官方并不建议这样做。如果在类中有大量使用静态变量(尤其是使用很占资源的变量,例如,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   感兴趣的加一下。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    博客公告
    本博客所有文章只是沈阳斌子在开发过程中遇到的问题的一个积累,有些东西也是网上大家的,我只是做个技术上的积累,欢迎交流,欢迎转载;禁止用于商业目的,谢谢合作!----沈阳斌子
    个人资料
    • 访问:512078次
    • 积分:6454
    • 等级:
    • 排名:第3717名
    • 原创:142篇
    • 转载:51篇
    • 译文:0篇
    • 评论:128条
    联系方式
    QQ技术交流群:
    108614806(1000人群,未满)

    博客专栏
    最新评论