`
包su
  • 浏览: 31227 次
  • 来自: 南京
社区版块
存档分类
最新评论

为什么那么恨android

 
阅读更多

前言

我不是果粉,但是,我很喜欢乔布斯,是个乔粉

 

我是android开发者,从不动ios开发,目前为止

 

android的开发策略,导致碎片化日益的严重,给你举一些例子:关于适配

同一套代码,在配置不高的huawei 8800+上运行流畅,但是在samsung s3上非常的卡顿,原因仅仅是一个显示API:你要调用view.setBackgroundDrawable(new BitmapDrawable(...)),而不是,view.setImageResource()(尽管.png就在你的res/drawable中),因为你要显示的图片很大,而且是不停的再更换显示图片,将会引发不停的System.gc()(这个实验的平台均是android4.x)

还有很多个系统级bug,好吧,这篇文章也是在说这些bug(并会不断更新),很荣幸,大部分在4.x上已经被解决了

bug

1. layout1.xml将被include到main.xml中,而layout1.xml中的root view设置了layoutparams,但是在最终显示时,会完全不考虑该lp

解决:在代码里面,再次为layout1.xml的root view设置lp

是否在4.x中出现:否

 

2.父亲是framelayout,而孩子也是framelayout,当不停的设置孩子的margin时,以期望有运动的效果时,失败

解决:请将孩子设置relativelayout,而不是framelayout

是否在4.x中出现:否

 

3.你有两个activity1和activity2,流程是这样的,先展示activity1,停3s后,跳转到activity2。

嗯,很完美,但是,看看这个情形:activity1在展示,然后按home按键,一段时间后,自动跳转到activity2

请不要说,这可以通过设计避免,但是,请让我说完

startactivity(activity2)调用后,并不会立刻调用activity2.oncreate,则,意味着什么

好吧,再细致一点:startactivity(activity2), activity1.onpause, activity2.oncreate, xxx

这个流程有什么问题呢?

a.在正常的情况下,是该流程

b.在activity显示,然后home按键,一段时间后,自动跳转到activity2,也是该流程

那么,我该如何判断上述两种情况呢

有人可能会说,捕捉一下home按键咯,那么,请google一下,ics已经屏蔽了这种方法

我尝试了 recenttask, runningtask,以区别上述两个情况,但是,都失败了(如果你知道怎么来区分,请告诉我)

是否在4.x中出现:是

分享到:
评论

相关推荐

    Android框架揭秘.pdf

    《Android框架揭秘》通过对Android系统源代码的分析,主要介绍Android框架的初始化过程及主要组件的工作原理。作者直接分析和整理了Android框架的主要源代码,并详细讲解了理解框架工作原理所需的各种基础知识和构成...

    android应用开发范例精解

    第2篇为应用开发篇,通过实例介绍了Android UI布局、Android人机界面、手机硬件设备的使用、Android本地存储系统、Android中的数据库、多线程设计、Android传感器、Android游戏开发基础、Android与Internet,以及...

    Android串口通信(Android Studio)

    Android串口通信(Android Studio) serial Port 简单的demo 好久之前整的

    Android组件设计思想

    这样就可以在组件再次需要使用时,原地满血复活,就像什么都没发生过一样。这种设计思想非常适合内存较小的移动设备。理解Android组件设计思想,对Android应用程序架构会有更好的认识。这一节讲Android组件化设计的...

    android source 2.2(android-8)

    比如我android.jar所在目录为 D:\android-sdk-windows\platforms\android-8,在这个目录下新建文件夹sources, 将源码放入其中即可,打开eclipse后,ADT会自动关联到源码 3.在eclipse中ctrl+单击就打开源码

    android 8.1设置添加Ethernet功能选项

    <activity android:name="Settings$EthernetSettingsActivity" android:label="@string/ethernet_settings_title" android:icon="@drawable/ic_settings_wireless" android:taskAffinity=""> <action android:...

    Android BLE蓝牙例子(包括android版Lightblue)实例源码

    源码里面有Bluetooth4_3/BLEDemo/Android_Lightblue.apk三个.前两个是BLE的demo。BLEDemo这个功能较Bluetooth4_3多一些,有兴趣的可以都看下。Android_Lightblue.apk是Android版的lightblue,在进行ble开发的时候用...

    Android support.v7包

    Android support.v7包

    Android 7.1.1 (API 25) SDK Platform 下载

    # mv /opt/android-sdk/platforms/android-25/android-7.1.1/* /opt/android-sdk/platforms/android-25/ # rm -rf /opt/android-sdk/platforms/android-25/android-7.1.1 官网下载地址:...

    Android扫雷游戏(基于Android Studio)

    基于Android平台的扫雷小游戏,使用Android Studio开发,附有简单注释,适用于初步掌握Android技术的程序猿们!

    Android Studio实战 快速、高效地构建Android应用

    《Android Studio实战 快速、高效地构建Android应用 全面涵盖关于Android Studio及其庞大工具生态系统的内容,包括Git和Gradle:除了介绍Android Studio与Git(用于源代码管理)和Gradle(一款构建及测试工具)的无缝...

    Android 8.0.0 (API 26) SDK Platform

    使用: export ANDROID_HOME="/opt/android-...# mv /opt/android-sdk/platforms/android-8.0.0 /opt/android-sdk/platforms/android-26 官网下载地址:https://dl.google.com/android/repository/platform-26_r01.zip

    android Gridview分页实现

    android Gridview分页实现的一个小例子

    android检测信号强度

    android检测信号强度android检测信号强度android检测信号强度android检测信号强度android检测信号强度android检测信号强度

    Android40个经典源码

    1 Android PDF 阅读器源码 2 Android Txt文本阅读器源码 3 Android SqliteManager 源码 4 Android 个人记账程序源码 5 android 多点触控实例源码 6 android 画图程序 7 Android 手电筒源码 8 Android 天气预报加...

    android抽屉菜单 android panel

    android抽屉菜单 android panel 随便写的demo http://blog.csdn.net/zabio/article/details/22812903

    android studio 4.2.2 免安装解压版

    android studio 4.2.2 免安装解压版

    JS调用Android方法,向Android方法传递json数据

    JavaScript调用Android方法,向Android方法传递json数据。

    Android 获取OTG U盘路径 sdcard路径

    Android M 读取OTG U盘路径和sdcard路径demo , 第三方apk可以参考使用。摘要为什么要50个字,为什么呢?

    android 播放报警声音

    android 播放报警声音

Global site tag (gtag.js) - Google Analytics