Not enough storage on android device When I download application from Market I obtain out of memory error.

In fact I have about 2Gb free storage on SD Card and it seems there is out of space of internal phone storage.

How to clear internal storage? E.g. remove some cache files or somewhat else?

How to obtain access to phone storage?
(When I connect my android device to PC without SD card I even have no choice to connect as a disc)

I moved all application which can be moved to Android device with App2SD.

It is really annoying - I have memory of SD Card but in fact I can not use it.

My device is HTC Desire, Android 2.3.3 

Thanks a lot!
Most probably your internal memory is too low. 

You can't access it without rooting your device. And it won't be visible in your PC/desktop anyways with a USB connection. (it can't be mounted) 

From what I understand your HTC Desire device has 512 MB of internal ROM which is used for both your stock firmware and user installed apps. 

The 512 MB storage may be divided into several partitions. System partition holds your ROM (firmware) and may include apps which came per-installed when you purchased the device.

The data partition is where your apps are stored. To check, how much actual space you have for data partition-


  Go to Settings -> Applications menu.


You should get a list of installed apps with available storage at bottom like this,



This will be the actual memory available to you. To increase this, you could try 


Moving apps to SD Card (which I believe you have already tried).
Root your device and delete unwanted system apps (bloatware)
Install a custom ROM, with app2sd/data2sd scripts, which enables you to use a ext3/ext4 partition on your SD card to use for installing apps. ( A  1GB partition would do fine.)


Although there is a alternative too, which can help you move some of the apps which are by default not enabled for moving to SD Card.


  Requirements
  
  
  An Android Device (Obviously.. ) (Root not required) 
  USB Cable 
  A PC (Any OS will do Windows, Mac or Linux) 
  Android SDK or replacement for ADB (Install android sdk from official site. Use drivers for your device)
  


Steps 


  
  Run command prompt or terminal use command 'adb devices' (will show
  list of connected devices) (you should have android sdk's
  path/platform-tools in your classpath) 
  use command 'adb shell' (will open a $ prompt) 
  use command 'pm setInstallLocation 2' ( will set default install
  location to sd card ) 
  
  (0 for auto, 1 for internal, 2 for sd card )
  


Now whatever new apps you install will be installed to sd card. they will still take space on internal memory in data partition though for dalvik cache, app-cache, private-cache etc. 

Note-> If you want to revert back to original use option 0 in step 4.

I have seen some weird behavior with this, apps which are set to install in SD Card by default (i.e. games like angry bird), are installed in internal. You could just move them to external though. My advice would be to use this command to enable moving to sd card and then revert back.