C# 安卓太多处理器会适得其反吗?

C# 安卓太多处理器会适得其反吗?,c#,android,tcp,xamarin,xamarin.android,C#,Android,Tcp,Xamarin,Xamarin.android,我正在做一个关于Xamarin的跨平台项目。 我提出了这个问题。我有一个TabActivity(包含4个框架(请求、信息、Fav、设置)。我还有一个TcpController,它只不过是一个包含大量异步任务的类。如果您查看以下方法: public async Task Read( ) { await socketListener.StartListeningAsync( port ); socketListener.ConnectionReceived += async ( se

我正在做一个关于Xamarin的跨平台项目。 我提出了这个问题。我有一个TabActivity(包含4个框架(请求、信息、Fav、设置)。我还有一个TcpController,它只不过是一个包含大量异步任务的类。如果您查看以下方法:

public async Task Read( ) {
    await socketListener.StartListeningAsync( port );
    socketListener.ConnectionReceived += async ( sender, args ) => {
        var client = args.SocketClient;
        await Task.Delay( 2000 );
        while (true) {

            System.Console.WriteLine( "Testing.." );
            //Read from the ReadStream property of the socket client to receive data
            if (client.ReadStream.CanRead) {
                await Task.Run( ( ) => client.ReadStream.ReadAsync( dataSet, 0, dataSet.Length ) );
                netObj = networkObjectAdapter.ByteArrayToObject( dataSet );
                if (netObj.command == NetworkCommand.RECEIVE_LIST) {

                    Message msg = new Message( );
                    msg.Obj = dataSet;
                    requestFragmentHandler.SendMessage( msg );

                } else if (netObj.command == NetworkCommand.RECEIVE_VOTE_SONG) {
                    Message msg = new Message( );
                    msg.Obj = dataSet;
                    requestFragmentHandler.SendMessage( msg );
                }
                //other business logic
            }
            await args.SocketClient.DisconnectAsync( );
            break;

        }
    };
}

正如您在if语句中所看到的,我使用RequestFragmentHandler在接收到某些内容时向其发送消息,尽管我不确定每个片段使用f.e.3处理程序对于Android架构是否有意义。如果让一组处理程序处理片段和Tcp控制器之间的通信是一个错误的系统决策,什么样的方法才是不阻塞UI的最佳方法?

您可以添加更多信息来清除您试图归档的内容吗?是否可以为每个片段设置一个处理程序,以便与TcpController通信,或者是否有其他方法不会阻塞UI?您可以添加更多信息来清除您想要归档的内容吗是否正在尝试存档?是否可以为每个片段设置一个处理程序,以便与TcpController通信,或者是否有其他方法不会阻止UI?