Question: I've got a TextView with the height set to wrap\_content - however, it's leaving a lot of extra space in my app. 

The text from the textview is coming in from a @+string and it seems as though the wrap\_content is setting it's height to the height of the string variable, not the actual text that's being inserted. 

If I replace 

```
            android:text="@+string/introGetStarted"

```

with

```
            android:text="Let&apos;s get started!"

```

then it seems to show the proper height and wraps just the text. 

Am I missing something? 

My full TextView, for reference: 

```
   <TextView
        android:id="@+id/textViewTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="@dimen/d15"
        android:layout_marginRight="@dimen/d30"
        android:layout_marginTop="@dimen/d25"
        android:lineSpacingExtra="-10sp"
        android:text="@string/introGetStarted"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="@dimen/d70" />

```

Answer: 
i guess you also have a lot categories for each product. Let try this 

open catalog\controller\module\category.php

Search : `$total = $this->model_catalog_product->getTotalProducts(array('filter_category_id' => $category['category_id']));`

Replace with `$total = '';`

and 

Search : `$product_total = $this->model_catalog_product->getTotalProducts($data);`

Replace with `$product_total = '';`

This is what displays the little number next to the category name showing how many products are in the category. It’s a pretty small feature, which I don’t think adds much to the user experience, but the impact that it is having on page speed is pretty high. On every page load, it is running the getTotalProducts approx 50 odd time

and maybe you need to try this [mod(Full Page Cache)](http://www.opencart.com/index.php?route=extension/extension/info&extension_id=10464) and also add indexes to all foreign keys or install this for FREE <https://github.com/atomixdesign/opencart-turbo>.
I would recommend using:
Dedicated server for your PHP files.
Dedicated server for mySQL only having phpMyAdmin on it.
On the MySQL and PHP, you can use a number of cache plugins in the extension library. You can use Memcache or another accelerator. Cache is a good idea. For a bonus I would also use a CDN.

If you have say, 30,000 products and getting high volume orders - this is a setup I have seen been used for a site: The site runs 5 opencart stores and other sites/apps on the servers. The total orders per day is around 2800 and sometimes with mailers and marketing up to 4000 per day. We use two PHP servers with Rackspace. We use a single MySQL database server (originally in cluster and slave but now just a master) The two PHP servers are cloned and synced. We just load balance our URLs using Dns and Rackspace. Using a CDN has reduced our costs and load times. It is pretty rapid now.