From 843489111e0734751e69025a99346d60e8a0d70a Mon Sep 17 00:00:00 2001 From: Mike Hearn Date: Sat, 11 Jan 2014 16:02:37 +0100 Subject: [PATCH] Quick hack to try and reduce memory consumption for Androids. Takes a test wallet from around 11.3mb to 9.6mb --- .../com/google/bitcoin/core/TransactionInput.java | 15 +++++++++------ .../google/bitcoin/core/TransactionOutput.java | 15 +++++++++++---- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/core/src/main/java/com/google/bitcoin/core/TransactionInput.java b/core/src/main/java/com/google/bitcoin/core/TransactionInput.java index 8ce9d33a..df4ba46b 100644 --- a/core/src/main/java/com/google/bitcoin/core/TransactionInput.java +++ b/core/src/main/java/com/google/bitcoin/core/TransactionInput.java @@ -17,13 +17,13 @@ package com.google.bitcoin.core; import com.google.bitcoin.script.Script; -import com.google.common.base.Preconditions; import javax.annotation.Nullable; import java.io.IOException; import java.io.ObjectOutputStream; import java.io.OutputStream; import java.io.Serializable; +import java.lang.ref.WeakReference; import java.util.Map; import static com.google.common.base.Preconditions.checkElementIndex; @@ -52,7 +52,7 @@ public class TransactionInput extends ChildMessage implements Serializable { private byte[] scriptBytes; // The Script object obtained from parsing scriptBytes. Only filled in on demand and if the transaction is not // coinbase. - transient private Script scriptSig; + transient private WeakReference