zoukankan      html  css  js  c++  java
  • 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   感兴趣的加一下。

  • 相关阅读:
    转:Spark User Defined Aggregate Function (UDAF) using Java
    同步类容器和并发类容器
    线程间通信
    线程安全
    浅入tomcat
    PLSQL操作excel
    Eclipse中使用Maven创建web项目
    PLSQL数据库操作(excel)
    Python学习-列表深浅拷贝
    Python学习-列表元组字典操作
  • 原文地址:https://www.cnblogs.com/zhiqiangsimida/p/2774635.html
Copyright © 2011-2022 走看看