亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

我們如何使用統一性在后臺保存大量數據?

我們如何使用統一性在后臺保存大量數據?

C#
LEATH 2021-05-01 07:10:00
我想在后臺將大量數據保存在本地數據庫中,但是當我嘗試保存數據時,我的統一IDE將掛起2-3分鐘。2-3分鐘后,它可以正常工作。任何人都可以建議我該怎么做..以下是我的示例代碼private IEnumerator WaitAndPrint(TestController.TestReportModel report){    dbHelper.deleteAllFromTable(dbHelper.TABLE_OFFLINE_MASTER_TEST_REPORT);    dbHelper.deleteAllFromTable(dbHelper.TABLE_MASTER_OFFLINE_POINT_DATA);    for (int i = 0; i < report.data.Count; i++)    {        TestController.TestData MasterData = report.data[i];        dbHelper.AddOfflineMasterTestReport(MasterData, "");    }                    yield return new WaitForSeconds(1);   }
查看完整描述

1 回答

?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

協程不是線程。如果保存操作需要花費大量時間才能完成,請創建一個新線程并在其中執行。有關示例,請參見下面的功能。該代碼已被移到新的線程中。


void WaitAndPrint(TestController.TestReportModel report)

{

    //Create Thread

    Thread thread = new Thread(delegate ()

    {

        dbHelper.deleteAllFromTable(dbHelper.TABLE_OFFLINE_MASTER_TEST_REPORT);

        dbHelper.deleteAllFromTable(dbHelper.TABLE_MASTER_OFFLINE_POINT_DATA);


        for (int i = 0; i < report.data.Count; i++)

        {

            TestController.TestData MasterData = report.data[i];

            dbHelper.AddOfflineMasterTestReport(MasterData, "");

        }

    });

    //Start the Thread and execute the code inside it

    thread.Start();

}

現在,您可以直接調用函數,它不應凍結Unity: WaitAndPrint(report);


如果您想從新的Threa中使用Unity的API,請使用UnityThread.executeInUpdate。見這對完整的例子。


查看完整回答
反對 回復 2021-05-08
  • 1 回答
  • 0 關注
  • 175 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號