`
yangwei0915
  • 浏览: 465325 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

减少android程序的is not responding

阅读更多

1.尽量在主线程中少做事情,尤其是一些耗时较长的操作。主线程只负责构造界面,响应用户的事件。耗时较长的操作可以

   采用线程或AsyncTask,并且尽量采用AsyncTask。并且一些button或player等组件的监听器也是执行的主线程,也

   不能有太多的操作。

2.主线程和监听器的方法中不能有Thread.sleep()。否则也会阻塞主线程。

分享到:
评论
1 楼 adamli007 2010-05-19  
我现在用广播将图片设为壁纸,设完之后进行recycle()方法,这样经常出现is not responding ,请问有什么解决方法?

相关推荐

    Android--MediaPlayDemo

    `prepare()`是同步的,可能会阻塞UI线程,而`prepareAsync()`是异步的,更推荐在UI线程中使用以避免ANR(Application Not Responding)错误。 播放音乐前,你需要确保文件的权限已经被正确设置。在AndroidManifest....

    Android笔记:Socket客户端收发数据

    此外,由于Android应用的特性,网络操作通常应在子线程中执行,以避免阻塞主线程导致ANR(Application Not Responding)错误。你可以使用AsyncTask或者自定义Handler来实现异步通信。 在实际开发中,我们可能还需要...

    精品(2021-2022年)资料达内Android全真模块实训.docx

    - **了解ANR**:Application Not Responding,指应用无响应的情况。 - **使用多线程**:通过创建Thread对象或使用Handler/Looper机制来处理耗时任务。 - **Handler消息机制**:Handler是Android中处理UI线程与工作...

    Android端与服务端TCP通讯

    此外,由于Android系统对网络操作的限制,如果应用在主线程中执行Socket操作,可能会导致ANR(Application Not Responding)错误,因此需要在子线程或者使用AsyncTask等异步方式处理网络通信。 综上所述,Android与...

    Android带进度条单文件上传

    确保在主线程更新UI,避免出现ANR(Application Not Responding)错误。 最后,使用`enqueue`方法启动异步请求,并在回调中处理成功或失败的情况: ```java FileUploadService service = RetrofitClient....

    android开发网络请求的几种方式

    在Android中,如果主线程长时间执行耗时操作,可能会导致ANR(Application Not Responding)异常。为了避免这种情况,可以通过以下两种方式进行处理: 1. **设置StrictMode策略**:通过`StrictMode`来监控并记录...

    Android SurfaceView实现加载GIF动画

    这使得`SurfaceView`可以在后台线程中进行高性能的图形绘制,而不会阻塞UI主线程,从而避免了ANR(Application Not Responding)错误。 要实现GIF动画加载,我们首先需要一个能够解析和播放GIF的库。Android原生并...

    android http 与服务端进行数据交换

    同步请求应在后台线程执行,以防止ANR(Application Not Responding)异常。 六、数据序列化与反序列化 在进行数据交换时,通常需要将Java对象序列化为JSON或XML格式,再由服务器反序列化为服务器端对象。Android中...

    Android-Retrofit类型安全的AndroidHttp客户端

    异步请求通常用于UI线程,可以避免因网络操作导致的ANR(Application Not Responding)错误。以下是如何进行异步请求: ```java apiService.getUser(userId).enqueue(new Callback() { @Override public void ...

    android http连接小实例

    - Android主线程不能直接执行网络请求,否则会导致ANR(Application Not Responding)。因此,通常在网络请求中使用异步处理,如Volley和OkHttp的异步回调,或者使用AsyncTask等工具。 7. **安全与HTTPS** - 对于...

    多线程开发,异步任务asyntask android的demo,实现从网络下载图片,亲测可用,改了bug

    AsyncTask是Android SDK提供的一种轻量级的异步处理类,主要用于在后台线程执行耗时任务,然后在UI线程更新结果,避免了直接在主线程进行耗时操作导致的ANR(Application Not Responding)错误。它包含三个泛型参数...

    filemanager ANR log

    【标题】:“filemanager ANR log”指的是在使用File Manager应用程序时出现的“Application Not Responding”(ANR)日志。ANR错误通常在Android系统中发生,当用户界面线程被阻塞且无法在特定时间内响应用户交互时...

    Android获取网络图片并显示的方法

    通过这种方式,Android应用可以安全地获取网络图片并在UI上显示,避免了由于网络操作导致的ANR(Application Not Responding)错误。同时,为了提高用户体验,可以考虑使用异步库(如AsyncTask、Retrofit或Volley)...

    Android 使用Vitamio打造自己的万能播放器(2)—— 手势控制亮度、音量、缩放

    同时,确保所有的操作都在主线程中执行,以防止出现ANR(Application Not Responding)错误。 总的来说,通过Vitamio提供的强大功能和自定义手势处理,我们可以轻松地构建一个具备手势控制的万能播放器。这个过程...

    Android中AsyncTask异步任务使用详细实例(一)

    在这个方法中,我们不应直接操作UI,因为这可能导致`Android Application Not Responding (ANR)`错误。可以通过调用`publishProgress(Progress...)`方法将进度更新发送到主线程。 2. `onPreExecute()`:在`...

    Android实现listview动态加载数据分页的两种方法

    【Android实现listview动态加载数据分页的两种方法】 在Android开发中,为了优化用户体验,减少内存...无论哪种方式,都需要注意线程安全和UI更新应在主线程进行,避免出现ANR(Application Not Responding)错误。

    GetToService

    注意,execute()方法应在主线程之外调用,否则会导致ANR(Application Not Responding)错误。通常我们会使用enqueue()方法进行异步请求,处理回调结果: ```java client.newCall(request).enqueue(new Callback()...

    ViewPager 放大缩小左右移动

    * Animation is not necessarily complete. * * @param position * Position index of the new selected page. */ public void onPageSelected(int position, int prePosition); /** * ...

    ViewPager的懒加载

    如果所有页面都预先加载,可能会导致内存占用过高,甚至引发内存泄漏或ANR(Application Not Responding)问题。因此,我们需要实现懒加载,只在页面首次可见时加载数据。 3. **实现懒加载** - **自定义...

    retrofit_example

    同步执行使用`execute`方法,需在非UI线程中调用,否则可能导致ANR(Application Not Responding)。 - 异步执行: ```java call.enqueue(new Callback() { @Override public void onResponse(Call<User> call,...

Global site tag (gtag.js) - Google Analytics