`
天天向上1989
  • 浏览: 418144 次
  • 性别: Icon_minigender_2
  • 来自: 南京
社区版块
存档分类
最新评论

【转】Bitmap类使用Parcelable

 
阅读更多

直接代码

import android.graphics.Bitmap;
import android.os.Parcel;
import android.os.Parcelable;

public class ParceBean implements Parcelable{
    private  Bitmap dw;
    private String name;
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Bitmap getDw() {
        return dw;
    }

    public void setDw(Bitmap dw) {
        this.dw = dw;
    }

     public static final Parcelable.Creator<ParceBean> CREATOR = new Creator<ParceBean>() { 
            public ParceBean createFromParcel(Parcel source) { 
                ParceBean pb = new ParceBean(); 
                pb.name = source.readString(); 
                pb.dw = Bitmap.CREATOR.createFromParcel(source);
                return pb; 
            } 
            public ParceBean[] newArray(int size) { 
                return new ParceBean[size]; 
            } 
        }; 
    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel parcel, int flags) {
        parcel.writeString(name);
        dw.writeToParcel(parcel, 0);
    }
}

 

 

我在用的时候有个问题。

可能因为我的Bitmap数据过多了,当图片超过N张的时候

直接不返回activity而报

WARN/ActivityManager(1291): Launch timeout has expired, giving up wake lock!
WARN/ActivityManager(1291): Activity idle timeout for HistoryRecord{405688b0 }

 

只得不传Bitmap

分享到:
评论

相关推荐

    Activity跳转时传递Bitmap对象

    在Activity间传递Bitmap,有两种主要方式:Intent extras和使用Parcelable接口。由于Bitmap对象较大,直接通过Intent的extras传递可能会导致内存溢出,因为Intent的大小有限制。因此,更推荐使用Parcelable接口。 1...

    Android序列化之Parcelable和Serializable的使用详解

    * Parcelable 接口是 Android 平台下的序列化接口,通常跨进程传递的数据都要正确实现这个接口,比如 Intent,Bitmap 等。Parcelable 实现起来比 Serializable 复杂,但性能较好。使用场景:在内存中实现序列化,...

    Android传递Bitmap对象在两个Activity之间

    1. 使用Parcelable接口:Bitmap不是直接可序列化的,但我们可以实现Parcelable接口,将Bitmap转换为字节数组,然后在Intent中传递。接收Activity再将字节数组还原为Bitmap。这种方式比较高效,但需要自定义序列化和...

    Android Activity之间传递图片(Bitmap)的方法

    Bitmap是Android系统中用于表示图像数据的类,它包含了像素信息。在内存中,Bitmap占用的空间较大,因此在处理时需要注意内存管理和性能优化。 1. **在源Activity中传递Bitmap** 在源Activity(例如MainActivity)...

    Android中的Bitmap序列化失败的解决方法

    4. 使用第三方库:有些第三方库如Gson或Parcelable接口可以帮助处理Bitmap的序列化问题,它们提供了更高级的序列化机制,可以更方便地处理Bitmap对象。 总结来说,解决Android Bitmap序列化失败的方法主要是通过...

    Android序列化传递数据

    2. 将Bitmap转换为Base64字符串,然后通过Serializable或Parcelable传递,接收端再转回Bitmap。 3. 使用`Bitmap.createBitmap()` 创建一个新的Bitmap,然后通过Bitmap.copy()复制数据。 在实际开发中,根据数据量、...

    利用Parceable传递复杂对象

    1. **Bitmap的Parceable实现**:Bitmap对象本身并不支持Parceable,因为它是一个非Parcelable类。但我们可以将其转换为byte数组,然后通过Parcel传递。首先,创建一个自定义的Parcelable类,如`ParcelableBitmap`,...

    android工具类

    在Android开发过程中,工具类(Util Classes)是程序员经常使用的代码模块,它们包含了各种实用功能,可以帮助开发者更高效地编写代码。"android工具类"这个主题涵盖了从UI操作到网络请求,再到数据处理等多个方面的...

    常用工具类

    Android提供了Bitmap类用于处理图像,但其内存管理需要特别注意,避免内存泄漏。 Glide和Picasso是流行的图片加载库,它们能自动优化内存使用和网络请求,同时支持图片的裁剪、缩放和圆角处理等功能。 9. Toast与...

    Android Intent传递数据大小限制详解

    前言 在sendBroadcast,startActivity时,我们会用到Intent。 Intent可以携带一些数据,比如基本类型数据...使用Intent传送数据时,可能会出现异常 在Intent中传入一个Parcelable对象;例如传入一个bitmap对象。 代

    使用AIDL实现进程间的图像

    - 使用Parcelable接口序列化Bitmap,减少内存占用。 - 使用流式传输,将Bitmap转化为二进制流进行传递,降低内存压力。 - 使用压缩算法,如JPEG或PNG,压缩图像后再进行传输,以减小数据量。 在处理过程中,还要...

    Android中传递图片的2种方法

    这种方法是直接将Bitmap对象作为Parcelable附加到Intent上进行传递。 1. **发送图片**: 创建一个新的Intent,然后调用`setDrawingCacheEnabled()`方法启用ImageView的绘图缓存,接着使用`getDrawingCache()`获取...

    putExtra携带数据的使用

    - 当数据量较大时,优先考虑使用Parcelable,因为它比Serializable效率高。 - 如果传递的数据是敏感信息,需要考虑安全问题,避免数据泄露。 6. **实践案例** 一个常见的应用场景是,从一个Activity启动另一个...

    Android的内存机制和溢出说明

    同时,遵循最佳实践,如使用Parcelable而非Serializable进行数据序列化,以及及时关闭Cursor、数据库连接和网络连接等,都有助于优化内存使用。 性能调优还包括避免一次性加载过多数据,使用列表视图(ListView)和...

    实验七 使用Intent在Activity间传输数据

    数据类型可以是基本类型(如int、String)、Parcelable对象(如Bitmap、Parcelable数组)或Serializable对象。例如,传递一个字符串: ```java intent.putExtra("key", "value"); ``` 在目标Activity中,使用`...

    android应用源码图片放大缩小旋转涂鸦源码-IT计算机-毕业设计.zip

    开发者需要理解如何创建和应用矩阵来改变Bitmap对象的显示效果。 6. **自定义View**:可能包含自定义的View或ViewGroup类,如CustomImageView,以便添加涂鸦功能。自定义View允许开发者覆盖onTouchEvent()方法,...

    Android开发内存优化详解文档

    1. 智能使用Bitmap:Bitmap对象占用了大量内存,因此需要合理加载和解码。使用inSampleSize参数减小图片大小,利用LruCache或 Fresco、Glide等库进行内存缓存管理。 2. 尽量避免大对象:大对象可能导致内存分配失败...

    《andrioid内存优化》PDF

    10. **代码和设计优化**:良好的编程习惯和设计模式也能对内存优化起到积极作用,如遵循单一职责原则,避免过深的层级结构,以及使用Parcelable代替Serializable等。 通过深入学习《Android内存优化》PDF,开发者...

    android通过ScratchTextView实现刮奖功能.rar

    可以使用Parcelable接口来序列化和反序列化Bitmap数据。 - 当应用回到前台或布局重建时,恢复之前保存的状态。 6. **交互反馈**: - 添加声音反馈,当用户刮开一部分时播放刮擦声效,增加沉浸感。 - 可以通过...

Global site tag (gtag.js) - Google Analytics