internal void QueueMemoryRequest(IAndroidLogcatDevice device, PackageInformation package) { m_ExpectedDevice = device; m_ExpectedPackageFromRequest = package; if (m_ExpectedPackageFromRequest == null || !m_ExpectedPackageFromRequest.IsAlive() || m_ExpectedDevice == null) { return; } // Don't make a memory request, if previous requests haven't finished yet // Otherwise async queue will grow bigger and bigger const int kMaxRequestsInQueue = 3; if (m_RequestsInQueue > kMaxRequestsInQueue) { return; } m_RequestsInQueue++; m_Runtime.Dispatcher.Schedule( new AndroidLogcatQueryMemoryInput() { adb = ADB.GetInstance(), packageProcessId = m_ExpectedPackageFromRequest.processId, packageName = m_ExpectedPackageFromRequest.name, deviceId = device.Id }, QueryMemoryAsync, IntegrateQueryMemory, false); }