ImageView showing up in debug mode, but not in run mode
<p>My case is a little special.... I'm trying to get an image via tcp and make it show into my device screen.</p>

<p>Please, don't ask me to do it with another kind of way to get the image, since this is the only way i can do it, and that's not my issue.</p>

<p>What happens is that when i'm debuging step-by-step my program, the image shows up into my screen. But when i run it without debuging, it doesn't show up.</p>

<p>This is my main.xml:
</p>

<pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    &gt;
&lt;TextView
    android:id="@+id/textview"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Hello World, MyActivity"
    /&gt;
&lt;ImageView
    android:id="@+id/imageview"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
/&gt;
&lt;/LinearLayout&gt;
</code></pre>

<p>and this is my MyActivity.java:
</p>

<pre><code>public class MyActivity extends Activity
{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) // Aquesta funcio es crida al començar, pero tambe cada vegada que es gira la pantalla.
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    @Override
    public void onStart(){
        super.onStart();

        TextView tv = (TextView) findViewById(R.id.textview);

        try {
            Socket s = new Socket("ip-here", port-here);

            DataInputStream ins = new DataInputStream(s.getInputStream());

            int bytesRead = 0;
            byte[] bSize = new byte[10];
            while(bytesRead &lt; 10){
                bytesRead += ins.read(bSize, 0, 10 - bytesRead);
            }
            String sSize = new String(bSize);
            Integer size = Integer.valueOf(sSize);

            byte[] pic = new byte[size];
            bytesRead = 0;
            while(bytesRead &lt; size){
                bytesRead += ins.read(pic, 0, size - bytesRead);
            }

            Bitmap bitmapimage = BitmapFactory.decodeByteArray(pic, 0, bytesRead);
            ImageView image = (ImageView) findViewById(R.id.imageview);
            image.setImageBitmap(bitmapimage);

            tv.setText(sSize + " -&gt; #" + size + "# -&gt; #" + bytesRead + "#");
        } catch (IOException e) {
            e.printStackTrace();
            tv.setText("error de IO");
        }
    }
}
</code></pre>

<p>Additional information:
The TCP server sends a 10-char string containing the size of the image (in base 10). And then the whole image in jpg format.</p>

<p>As you can see, i put a Textbox to tell me what's happening, and it's ok. Even when i run it, it says he got the whole image, but it just doesn't show up...</p>

<p>Am i missing something? maybe i shouldn't put this code in the onStart() method?</p>

<p>Thank you,
Víctor</p>
