瀏覽代碼

优化大量请求卡顿

zhenghao 1 年之前
父節點
當前提交
9e1a9f9701

+ 1 - 0
app/src/main/AndroidManifest.xml

@@ -27,6 +27,7 @@
 
         <activity android:name=".MainActivity"
             android:screenOrientation="portrait"
+            android:hardwareAccelerated="true"
             android:windowSoftInputMode="adjustPan" >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />

+ 24 - 2
app/src/main/java/com/naz/sdkdemo/MainActivity.java

@@ -57,6 +57,10 @@ import java.lang.reflect.Type;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
 
 import androidx.annotation.NonNull;
 import androidx.camera.core.CameraSelector;
@@ -403,7 +407,7 @@ public class MainActivity extends BaseActivity {
                         Log.e("-------->","------>savePath="+outputFileResults.getSavedUri().getPath());
                         Log.e("-------->","------>保存成功");
 //                        Toast.makeText(MainActivity.this, "保存成功", Toast.LENGTH_SHORT).show();
-//                        savePicture(file, path, name);
+                        savePicture(file, path, name);
                         mWebView.loadUrl("javascript:uploadPhotoPath('" + outputFileOptions.getFile().getAbsolutePath() + "')");
                     }
 
@@ -415,8 +419,21 @@ public class MainActivity extends BaseActivity {
                 });
     }
 
+    boolean isStart = false;
+    ExecutorService fixedThreadPool;
     private void savePicture(File file, String path, String name) {
-        ApiHelper.uploadPicture(this, file, path, name);
+        if (!isStart){
+            isStart = true;
+            int numberOfCores = Runtime.getRuntime().availableProcessors();
+            Log.i("--------->", "-------->cpu核心数" + numberOfCores);
+            fixedThreadPool = Executors.newFixedThreadPool(2*numberOfCores+1);
+        }
+        fixedThreadPool.execute(new Runnable() {
+            @Override
+            public void run() {
+                ApiHelper.uploadPicture(MainActivity.this, file, path, name);
+            }
+        });
     }
 
     private void checkNet() {
@@ -601,6 +618,8 @@ public class MainActivity extends BaseActivity {
         // 设置拍照模式为最小化延迟模式,这意味着拍照时将尽可能快地捕获图像。
         imageCapture = new ImageCapture.Builder()
                 .setCaptureMode(ImageCapture.CAPTURE_MODE_MINIMIZE_LATENCY)
+                    // 设置JPEG的质量为85%
+                .setJpegQuality(85)
                 .build();
         cameraProvider.unbindAll();//解绑组件
         cameraProvider.bindToLifecycle((LifecycleOwner) this, cameraSelector, preview, imageCapture);
@@ -974,5 +993,8 @@ public class MainActivity extends BaseActivity {
         if (cameraProvider!=null){
             cameraProvider.unbindAll();
         }
+        if (fixedThreadPool!=null){
+            fixedThreadPool.shutdown();
+        }
     }
 }

+ 2 - 2
app/src/main/java/com/naz/sdkdemo/http/ApiHelper.java

@@ -662,7 +662,7 @@ public class ApiHelper {
 
         OkGo.<BaseResponse<Void>>post(Api.POST_UPLOAD_PICTURE())
                 .tag(activity)
-                .cacheTime(20000)
+                .cacheTime(40000)
                 .isMultipart(true)
                 .params("path", path)
                 .params("name", name)
@@ -675,7 +675,7 @@ public class ApiHelper {
 
                     @Override
                     public void onSuccess(Response<BaseResponse<Void>> response) {
-
+                        Log.e("--------->","--------->成功");
                     }
 
                     @Override

+ 1 - 1
app/src/main/res/layout/activity_home_web.xml

@@ -65,7 +65,7 @@
         app:layout_constraintRight_toRightOf="parent"
         app:layout_constraintTop_toBottomOf="@id/print"
         android:text="拍照"
-        android:visibility="gone"/>
+        />
 
     <Button
         android:id="@+id/start_scan"

+ 1 - 1
app/src/main/res/values/strings.xml

@@ -1,5 +1,5 @@
 <resources>
-    <string name="app_name">大王椰</string>
+    <string name="app_name">商标管理系统</string>
 
     <string-array name="nav_tab_list">
         <item>首页</item>