Android Tips #1
Android で最近わかったこと。
ClassLoader が複雑
Android の ClassLoader の仕組みは、Dalvik VM がプロセスをフォークするという性質上、普通の Java のそれとは異なる感じです。
やろうとしたのは BroadcastReceiver でブロードキャストを受信した際に、自分自身を Classloader#loadClass(String) で生成しようとすることです。
@Override public void onReceive(final Context context, Intent intent) { Class<?> clazz = getClass().getClassLoader().loadClass(getClass().getName()); }
これが ClassNotFoundException を発生させます。
普通、自身のクラスの ClassLoader なら、自身のクラスが見つかるはずなんですが・・・。
Activity だとどうで、Service だとどうで、というのは暇ができたら検証してみたいです。