在 Xamarin.Android 中,如果 Activity 由于内存不足而被杀死,我仍然可以从另一个 Activity 中调用该 Activity 中定义的静态方法吗? em>活动。例如:
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?
}
答案 0 :(得分:2)
您始终可以随时在任何可访问的类上调用静态方法。只需使用MyClass.staticMethod()。请注意,如果deadInstanceOfMyClass == null,则不能以这种方式调用deadInstanceOfMyClass.staticMethod()。
答案 1 :(得分:0)
如果Activity被销毁,我可以从Activity调用静态方法吗?
就像SushiHangover所说的那样,答案是肯定的。
在Xamarin.Android中,如果某个活动由于内存不足而被杀死,我仍然可以从另一个活动中调用该活动中定义的静态方法吗?
请注意, Android不会终止单个活动,Android会终止进程。
流程大致上是一个应用程序,该应用程序中的所有内容-与该特定应用程序相关的所有活动,服务,应用程序类,在大多数情况下,一个应用程序等于一个流程。
这意味着,如果Android修剪了一个进程,其内部的所有活动(以及与该应用程序相关的所有其他事物)也将因此而死亡。 Android(尤其是Android Kernel,当达到一定的内存阈值时负责杀死进程)不会修剪该进程/该应用程序中的单个组件,甚至不知道或不在乎它们的存在。
因此,如果您的应用由于内存不足而被系统杀死,那么所有Activity
都将被销毁。
答案 2 :(得分:0)
是,假设someIntValue
是静态值或硬编码的Integer值。