如果 Activity 被销毁,我可以从 Activity 调用静态方法吗?
Can I call static method from Activity if Activity is destroyed?
在Xamarin.Android中,如果Activity因为内存不足而被杀死,我还能调用静态方法吗从另一个 Activity 中定义 Activity。例如:
public class MyKilledActivity : Activity
{
....
public static int MyStaticMethod()
{
.....
return someIntValue;
}
}
public class AnotherActivity : Activity
{
.....
int value = MyKilledActivity.MyStaticMethod(); // Would it work if MyKilledActivity is destroyed?
}
您随时可以在任何可访问的 class 上调用静态方法。只需使用 MyClass.staticMethod()。请注意,如果 deadInstanceOfMyClass == null,则不能以这种方式调用 deadInstanceOfMyClass.staticMethod()。
Can I call static method from Activity if Activity is destroyed?
正如SushiHangover所说,答案是肯定的
In Xamarin.Android if an Activity gets killed because of low memory can I still call static methods defined in that Activity from another Activity?
请注意 Android 不会终止单个活动,Android 会终止进程。
进程大致是一个应用程序和该应用程序中的所有内容 - 与该特定应用程序相关的所有活动、服务、应用程序 class,在大多数情况下,一个应用程序等于一个进程。
这意味着,如果 Android trim 处理一个进程,则其中的所有活动(以及与该应用程序相关的所有其他内容)也将因此终止。 Android(特别是 Android 内核,它负责在达到特定内存阈值时终止进程)不会 trim 该进程/该应用程序中的单个组件,它不会甚至不知道或关心它们的存在。
因此,如果您的应用程序由于内存不足而被系统杀死,那么,您的所有 Activity
都将被销毁。
是,假设 someIntValue
是静态值或硬编码整数值。
在Xamarin.Android中,如果Activity因为内存不足而被杀死,我还能调用静态方法吗从另一个 Activity 中定义 Activity。例如:
public class MyKilledActivity : Activity
{
....
public static int MyStaticMethod()
{
.....
return someIntValue;
}
}
public class AnotherActivity : Activity
{
.....
int value = MyKilledActivity.MyStaticMethod(); // Would it work if MyKilledActivity is destroyed?
}
您随时可以在任何可访问的 class 上调用静态方法。只需使用 MyClass.staticMethod()。请注意,如果 deadInstanceOfMyClass == null,则不能以这种方式调用 deadInstanceOfMyClass.staticMethod()。
Can I call static method from Activity if Activity is destroyed?
正如SushiHangover所说,答案是肯定的
In Xamarin.Android if an Activity gets killed because of low memory can I still call static methods defined in that Activity from another Activity?
请注意 Android 不会终止单个活动,Android 会终止进程。
进程大致是一个应用程序和该应用程序中的所有内容 - 与该特定应用程序相关的所有活动、服务、应用程序 class,在大多数情况下,一个应用程序等于一个进程。
这意味着,如果 Android trim 处理一个进程,则其中的所有活动(以及与该应用程序相关的所有其他内容)也将因此终止。 Android(特别是 Android 内核,它负责在达到特定内存阈值时终止进程)不会 trim 该进程/该应用程序中的单个组件,它不会甚至不知道或关心它们的存在。
因此,如果您的应用程序由于内存不足而被系统杀死,那么,您的所有 Activity
都将被销毁。
是,假设 someIntValue
是静态值或硬编码整数值。