我有一个应用程序,其中的入口点是"登录/启动" Activity,我需要从服务器预加载新数据.这SplashActivity被声明为:
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
Run Code Online (Sandbox Code Playgroud)
在我的AndroidManifest.xml,加载数据后,我在我的自定义Application类上保留一些数据,然后继续我的 MainActivity.
我期待,在我Application被操作系统或用户(使用强制停止)停止后,然后由用户重新启动后,我的应用程序的入口点将SplashActivity再次出现但是系统会跳过SplashActivity并显示MainActivity.
问题:这是预期的行为吗?如果整个过程停止,我的应用程序不应该启动SplashActivity吗?这可以实现吗?
我有点困惑这个... ReferenceTable溢出(最大= 512),我确定它与我在本机方法调用中创建的本地引用数量有关...要解决这个问题我甚至有试图从本机调用中删除本地引用; 但我仍然无法解决问题......我正在传递2D数组; 大约是1024 X 1024 ......
这是我所指的错误跟踪...我确信创建的整数对象的数量导致了我的情况的问题...因为你应该能够看到506(I)对象被创建...和然后JNI遇到了瓶颈......
/dalvikvm(9498): GC_CONCURRENT freed 1981K, 41% free 6891K/11527K, external 1625K/2137K, paused 2ms+3ms
/dalvikvm(9498): ReferenceTable overflow (max=512)
/dalvikvm(9498): Last 10 entries in JNI local reference table:
/dalvikvm(9498): 502: 0x40710920 cls=[I (4092 bytes)
/dalvikvm(9498): 503: 0x40711920 cls=[I (4092 bytes)
/dalvikvm(9498): 504: 0x40712920 cls=[I (4092 bytes)
/dalvikvm(9498): 505: 0x40713920 cls=[I (4092 bytes)
/dalvikvm(9498): 506: 0x40714920 cls=[I (4092 bytes)
/dalvikvm(9498): 507: 0x40715920 cls=[I (4092 bytes)
/dalvikvm(9498): 508: 0x40716920 cls=[I (4092 bytes)
/dalvikvm(9498): 509: 0x40717920 cls=[I (4092 …Run Code Online (Sandbox Code Playgroud) 在我的Android应用程序中,我广泛使用返回一些数据的本机方法.
然而,经过多次通话,我获得了崩溃.
本机调用方法是:
static jbyteArray JNIGetIcon(JNIEnv* e, jclass clazz)
{
ByteBuffer buff;
buff.Write(*icon, 48, 32, r66Api::IBitmap::TEncoding::EEnc_Rgba8888);
jbyteArray result = GetEnv()->NewByteArray(buff.Size());
GetEnv()->SetByteArrayRegion(result, 0, buff.Size(), (jbyte*) buff.GetData());
return result;
}
Run Code Online (Sandbox Code Playgroud)
有人能指出我做错了吗?
崩溃日志是:
02-10 18:33:32.075 W/dalvikvm(10644*10644): ReferenceTable overflow (max=1024)
02-10 18:33:32.075 W/dalvikvm(10644*10644): Last 10 entries in JNI pinned array reference table:
02-10 18:33:32.075 W/dalvikvm(10644*10644): 1014: 0x2fc77de0 cls=[C (28 bytes)
02-10 18:33:32.075 W/dalvikvm(10644*10644): 1015: 0x2fc79b88 cls=[C (28 bytes)
02-10 18:33:32.075 W/dalvikvm(10644*10644): 1016: 0x2fc79c38 cls=[C (28 bytes)
02-10 18:33:32.085 W/dalvikvm(10644*10644): 1017: 0x2fc79ef8 cls=[C (28 bytes) …Run Code Online (Sandbox Code Playgroud)