第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

盡管沒有對代碼進行任何更改,但 MainActivity 不再從 startActivity(i)

盡管沒有對代碼進行任何更改,但 MainActivity 不再從 startActivity(i)

Qyouu 2023-08-04 19:06:57
幾天前,我的應(yīng)用程序停止在多個設(shè)備上運行。該代碼至少一年沒有被觸及(即:最近沒有進行任何更改)。它從 SplashScreenActivity 開始,從 SQL 數(shù)據(jù)庫下載一些數(shù)據(jù),效果很好。之后,這些數(shù)據(jù)將putExtra發(fā)送到用于啟動 MainActivity 的 Intent - 這就是應(yīng)用程序突然關(guān)閉的地方。通過調(diào)試,我知道 Intent 仍然被正確創(chuàng)建,但在 MainActivity 中“ onCreate”未被調(diào)用。我不知道中間是什么以及為什么它停止工作,也許與依賴性有關(guān)?有任何想法嗎?下面是 SplashScreen 的代碼和 MainActivity 的 onCreate 方法,以及build.gradle我在其中進行了一些更改試圖解決問題的(應(yīng)用程序)(已棄用的編譯更改為依賴項的實現(xiàn)和版本sdkVersion)。那并沒有解決問題。構(gòu)建.gradle:    apply plugin: 'com.android.application'        android {        compileSdkVersion 26        buildToolsVersion '26.0.2'        defaultConfig {            applicationId "com.myname.myapp"            minSdkVersion 19            targetSdkVersion 26            versionCode 14            versionName "1.51"            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"            multiDexEnabled true        }        buildTypes {            release {                minifyEnabled false                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'            }        }        compileOptions {            targetCompatibility = 1.8            sourceCompatibility = 1.8        }    }        dependencies {        implementation fileTree(dir: 'libs', include: ['*.jar'])        androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.2', {            exclude group: 'com.android.support', module: 'support-annotations'        })        implementation 'com.android.support:multidex:1.0.3'        implementation 'com.android.support:appcompat-v7:26.1.0'        implementation 'com.android.support:recyclerview-v7:26.1.0'        implementation 'com.google.android.gms:play-services:12.0.1'        testImplementation 'junit:junit:4.12'    }
查看完整描述

2 回答

?
肥皂起泡泡

TA貢獻1829條經(jīng)驗 獲得超6個贊

我找到了答案,它解釋了盡管代碼沒有變化但行為發(fā)生變化的原因:

隨著數(shù)據(jù)庫隨著時間的推移而增長,字符串的長度strResult超過了可以使用的最大長度Intent。putStringArrayListExtra就我而言,我可以簡單地減少數(shù)據(jù)量,但這顯然不是所有情況下的解決方案。所有其他建議的代碼更改都會帶來更好的風(fēng)格,所以感謝您的回答!


查看完整回答
反對 回復(fù) 2023-08-04
?
RISEBY

TA貢獻1856條經(jīng)驗 獲得超5個贊

您尚未共享 Logcat 錯誤堆棧,這將有助于進一步了解該問題。但似乎您正在嘗試從新線程而不是 UI 線程啟動活動,因此應(yīng)用程序崩潰,只需移出可運行 run 方法內(nèi)的代碼,并且不要啟動新線程。如果由于某種原因您希望代碼異步運行,請通過處理程序運行您的 Runnable。下面是片段


if (isOnline()) {


    new Handler().postDelayed(new Runnable() {

        @Override

        public void run() {

            strResult.add(new DataTransfer().receiveDataFromDatabase(getString(R.string.sql_id_users), "0", getString(R.string.url_receive), getmAccessCode()));

            strResult.add(new DataTransfer().receiveDataFromDatabase(getString(R.string.sql_id_ridesByDate), "0", getString(R.string.url_receive), getmAccessCode()));

            strResult.add(new DataTransfer().receiveDataFromDatabase(getString(R.string.sql_id_ridesByDriverID), "0", getString(R.string.url_receive), getmAccessCode()));

            strResult.add(new DataTransfer().receiveDataFromDatabase(getString(R.string.sql_id_passengersByDate), "0", getString(R.string.url_receive), getmAccessCode()));

            Intent i = new Intent(SplashScreen.this, MainActivity.class);

            i.putStringArrayListExtra("tableContents", strResult);

            startActivity(i);

            finish();

        }


    },1000);

}


查看完整回答
反對 回復(fù) 2023-08-04
  • 2 回答
  • 0 關(guān)注
  • 151 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號