一、首先我想问一下关于android的UI的优化都有什么方法,网上能看到的只有异步加载;
 二、另外今天面试被问了几个问题,我想知道到底该怎么回答;1.假如有 320 *480  1024 *600 这2种屏幕 让你考虑做到不同分辨率界面统一 您会从页面设计上哪些点入手
2.在android开发中一般都怎么做异步处理,比如加载ListView;
一般我都是对图片的加载做异步处理,他问加载列表怎么异步处理?
3.以微博为例 你每页默认显示多少条 。。点更多或者滚动加载更多条数的你如何处理?
这个我不太明白什么意思?
4.在一个ListView中显示很多数据,而且控件较多比较微博页面,如果要实现非阻塞方式取得数据 应该怎么设计,尽量说的具体些?
这个我很想知道,怎么才真正算非阻塞了方式取得数据了呢?该怎么设计,我很想知道。
大概就这些吧?希望高手指点谢谢。。

解决方案 »

  1.   

    我的答案一般。参考下。
    UI的优化应该还有双缓存,不过好像android本身就做到了。
    1 从相对布局考虑。使用自适应高度。
    2 先加载部分列表,采用“更多”按钮,保证列表长度不要过长,否则可能卡。或者先把资源下载到缓存或存储卡。需要的时候加载。
    3 就是问如何处理listview的条数过多的问题。微薄默认一次是20条。那么点更多显示到50条左右就可以了吧。
    点“更多”的时候。再加载20-40条。当超过一定的条数。50比如条。释放前面加载的条目。始终保持50条。这样可以节省内存。防止因为过多的list导致程序内存溢出。
    4肯定是开后台的service了吧。在里面开线程去下载,然后把一部分数据先下回来。保存好。等待需要的时候调用最好了。
    我的想法。貌似也挺基础的。
    等待更好的解释。
      

  2.   

    另外可以把不需要加载时间的文字与需要时间的图片分离开来进行加载 这样list先出来然后图片再刷新出来
      

  3.   

    这是做android程序中经常遇到的一些问题,问的问题非常实践。
    1.  做不同分辨设备的应用程序,一般对于图标是做不同分辨的图标,如果是一些背景,最好使用.9.png图标。
    2.异步加载ListView的数据也是很正常,就像手机微博一样,一般的做法是先预加载一些数据,如果有图片的图标先放个默认的图片,后台启动异步线程去加载图片或者数据,这样就能实现异步加载数据了。
    3.如何防止ListView过多,你回答得还算可以,不过系统对ListView的优化已经非常好了,如果想要再做优化,只能从绑定的数据源入手,就是让ArrayList数据不要存在太多。
    4.非阻碍模式就是不一定要按先后顺序去加载数据,只有通过线程方式去加载数据,这样就可以实现异步非阻塞模式下加载数据
      

  4.   

    对象指向null后再加载即可。(可参考 LazyAdapter,这是个不错的例子)
    资源更新即时不即时是服务器那边的事了,微博为例,你举一个有关微博的例子看看,我们再做探讨。