android程序子线程里面再启动多线程去下载,为什么会变得超慢

问题描述

android程序子线程里面再启动多线程去下载,为什么会变得超慢

如果在主线程里面启动多线程,下载速度达到5mbs。但是主界面会卡死,所以先启动了一个子线程,然后在子线程里面再启动多线程去下载,速度才只有0.2mbs,相差25倍,谁能解析一下?

解决方案

你创建了多少线程?一般来说10个以上就没有意义了。还有你的代码怎么写的,有没有死锁。

解决方案二:

程序很简单,不存在死锁,线程开多少个都实验过,没什么差异。其他对android的线程管理机制不是很熟悉,各位老师,有没有相关的书籍或文章介绍?

时间: 2024-11-01 00:31:29

android程序子线程里面再启动多线程去下载,为什么会变得超慢的相关文章

百度地图-android在子线程里读写文件里的经纬度并绘制轨迹,activity销毁时程序崩溃,特来求助!

问题描述 android在子线程里读写文件里的经纬度并绘制轨迹,activity销毁时程序崩溃,特来求助! public class DrawPathActivity extends BaseActivity { private MapView mMapView; private BaiduMap mBaiduMap; private static final int POINT_COUNT_PER_GROUP = 100; private LatLng startPoint; private

android通过子线程来实现动画的实例

android通过子线程来实现动画的实例 Android动画,一般是相对原始位置进行参照,本文我们来看看通过子线程修改物体位置实现动画的实例. 布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="

华为 8 工程模式-华为P8通过android程序进入工程模式进不去

问题描述 华为P8通过android程序进入工程模式进不去 您好,我是一名学生,对Android开发非常感兴趣,买了一款华为P8的手机来开发程序,(ˇ?ˇ) 想-通过暗码的形式"android_secret_code://2846579"进入到手机的工程模式并对手机里面的硬件进行查看,结果通过暗码形式进不去,我想知道Android或是Java程序应该怎么进去呢?求大神指导,谢谢!(PS:手机不能刷机) 解决方案 不Root 进入工程模式 解决方案二: 华为P7 在手机待机的界面上点击[

Android实现在子线程中更新Activity中UI的方法_Android

本文实例讲述了Android实现在子线程中更新Activity中UI的方法.分享给大家供大家参考,具体如下: 在Android平台下,进行多线程编程时,经常需要在主线程之外的一个单独的线程中进行某些处理,然后更新用户界面显示.但是,在主线线程之外的线程中直接更新页面显示的问题是:系统会报这个异常: ERROR/AndroidRuntime(1222): android.view.ViewRoot$CalledFromWrongThreadException: Only the original

ui-关于android子线程操作UI的问题

问题描述 关于android子线程操作UI的问题 看到的所有的资料上都说android的子线程不能操作UI,抱着好奇心我写了下面的程序,竟然运行成功了,不知谁能解释一下这个问题 public class MainActivity extends Activity { Button bt; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setCon

Android实现在子线程中更新Activity中UI的方法

本文实例讲述了Android实现在子线程中更新Activity中UI的方法.分享给大家供大家参考,具体如下: 在Android平台下,进行多线程编程时,经常需要在主线程之外的一个单独的线程中进行某些处理,然后更新用户界面显示.但是,在主线线程之外的线程中直接更新页面显示的问题是:系统会报这个异常: ERROR/AndroidRuntime(1222): android.view.ViewRoot$CalledFromWrongThreadException: Only the original

调试Android程序只走主线程不走子线程

问题描述 调试Android程序只走主线程不走子线程 调试Android程序只走主线程不走子线程调试Android程序只走主线程不走子线程调试Android程序只走主线程不走子线程 解决方案 断点打在run方法内 解决方案二: 启动线程要调用start方法,不要通过run方法调用,你怎么用的

Android任意时刻从子线程切换到主线程的实现

引入 在Android开发中常常会遇到网络请求,数据库数据准备等一些耗时的操作:而这些操作是不允许在主线程中进行的.因为这样会堵塞主线程导致程序出现未响应情况. 所以只能另起一个子线程进行这些耗时的操作,完成后再显示到界面.众所周知,界面等控件操作只能在主线程中完成:所以不可避免的需要从子线程切换到主线程. 方法 对于这样的情况在Android 中比较常见的是使用AsynTask类或者 Handler来进行线程切换:而其中AsynTask是官方封装的类,较为简单,效率也比较可以,但是并不适合所有

Android中主线程与子线程之间相互通信教程

有时候,我们也可能碰到这样子的一种需求:需要主线程来向子线程发送消息,希望子线程来完成什么任务.如果这样子应该怎么做呢?这就是这篇文章将要讨论的内容. 一.HandlerThread类 主线程发送消息给子线程,通常思维逻辑就是:其实很简单,在主线程中实例化一个Handler,然后让他与子线程相关联(只要它与子线程的Looper相关联即可),这样子它处理的消息就是该子线程中的消息队列,而处理的逻辑都是在该子线程中执行的,不会占用主线程的时间.那么我们就来实现一下,看看这样子到底行得通还是行不通.新