开发者社区> 问答> 正文

为什么同一个android程序在不同手机运行显示界面不一样

为什么同一个android程序在不同手机运行显示界面不一样

展开
收起
云计算小粉 2018-05-10 20:01:06 7382 0
2 条回答
写回答
取消 提交回答
  • Android系统与应用研发7年,专注于系统性能问题处理、开发流程工具研发、SDK组件研发工作。 服务端研发2年,前后使用Golang, RoR搭建后端服务程序。

    这个问题还可以再细化下,是亲自己开发的程序在不同手机表现不一致,还是只是观察到别人的程序表现不一致。
    一般的表现不一致是指: 样式(style)、内容(data)的不一致。

    样式不一致:

    1. Android SDK开发时就提供与支持了针对不同分辨率,需要进行不同布局与样式的开发适配工作. 这些样式在通过Android Studio进行桩代码生成的时候就有,开发的时候多关注下。企业级开发者一般会兼顾这些事情。
    2. 国内的Android手机开发商,可能根据自己的产品需要,对系统提供的原生UI组件进行重新修饰与定义,这样就导致同样的程序使用的同一个系统UI在不同手机厂商间表现不一致。
    3. 企业级开发者为了本地化、国际化的考虑,在展示语言、UI色彩上根据不同地域进行自动切换。

    数据内容不一致:

    1. 应用是个具有后台运营的产品,根据产品后台配置需要,动态地切换需要展示的内容(首页图片、广告), 新闻媒体类应用的信息流也可以理解成运营所致。
    2. 应用被手机安全管家限制,导致各类权限不全,导致了信息显示异常,例如网络访问权限、地理位置获取权限等。

    作为一个应用开发者,应该从应用使用场景、兼容性角度考虑,去做一些适配的开发工作:

    1. 屏幕尺寸布局
    2. 本地化、国际化
    3. 友好的使用权限提醒

    在测试的时候可以考虑:

    1. 使用多款手机测试,关于手机的选择,可以参考 https://yq.aliyun.com/ask/82010
    2. 在多个不同的地方进行测试
    2019-07-17 22:11:51
    赞同 1 展开评论 打赏
  • 首先要确认同此处的显示界面是承载内容的差异还是内容一致,样式存在差异。 1.承载内容差异 应用程序可以通过分析设备上用户的行为或者机型来做差异化内容展示,实现差异化展示。 2.内容一致,样式的差异。 android作为一款开源的操作系统,不同厂商可以做不同程度的定制。市面上存在各种屏幕分辨率和尺寸的设备,由于这种差异,用户看到的页面不可能保证百分之百完全一致,只能通过具体的屏幕尺寸来进行界面布局。
    2019-07-17 22:11:51
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载