为什么我的Nativescript工作进程会减慢一个繁重的进程?

为什么我的Nativescript工作进程会减慢一个繁重的进程?,nativescript,angular2-nativescript,worker,nativescript-angular,Nativescript,Angular2 Nativescript,Worker,Nativescript Angular,我有一个应用程序,在某个点上做一些密集的工作,这会阻塞UI大约10秒。由于加载动画和我的服务都在主线程上,我决定使用nativescript workers。用户界面不再冻结,但这个过程需要更多的时间(100秒vs.s.10秒) 有人知道哪里出了问题吗 我的worker.ts非常简单: import "tns-core-modules/globals"; import { DatabaseService } from "../services/database.service"; const

我有一个应用程序,在某个点上做一些密集的工作,这会阻塞UI大约10秒。由于加载动画和我的服务都在主线程上,我决定使用nativescript workers。用户界面不再冻结,但这个过程需要更多的时间(100秒vs.s.10秒)

有人知道哪里出了问题吗

我的
worker.ts
非常简单:

import "tns-core-modules/globals";
import { DatabaseService } from "../services/database.service";

const context: Worker = self as any;
const databaseService: DatabaseService = new DatabaseService();

context.onmessage = msg => {
      databaseService.fillWithMissions(msg.data).then((n:number)=>{     
            (<any>global).postMessage("test");
        });
};
导入“tns核心模块/全局”;
从“./services/database.service”导入{DatabaseService};
const context:Worker=self,如有;
const databaseService:databaseService=newdatabaseservice();
context.onmessage=msg=>{
databaseService.fillWithMissions(msg.data).then((n:number)=>{
(全球)。邮政信息(“测试”);
});
};
当在我的组件上接收到postMessage时,我在终止这一个之后调用另一个类似的worker,仅此而已。运行这两个程序大约需要100秒


如果我从主组件调用我的
databaseService.fillWithMissions()
方法,UI将冻结,但运行这两种方法需要大约10秒。

您在worker中的具体操作-
databaseService.fillWithMissions()
。我将一些数据插入Sqlite数据库(c.f.)。我将在几个小时内链接确切的sql方法。您要执行多少事务?你试过运行批处理操作吗?处理请求后,数据库的大小是多少?我已经测试了许多配置,更改了项目数、事务数和批处理大小,但仍然存在问题。我尝试过批量大小(1,5,50100500),大约有600个项目(90%的项目只有3列字符串)。很抱歉,今天我无法访问我的代码。但是fillWithMissions方法是一个简单的循环,用于计算包含sql“insert”项的项数。我将检查数据库大小差异并报告