android框架

71道Android开发面试题

情到浓时终转凉″ 提交于 2019-11-27 07:14:32
文章转载自: http://www.pythonheidong.com/blog/article/3310/ 注:本文来自“安卓巴士” Android面试题 1. 下列哪些语句关于内存回收的说明是正确的? (b ) A、 程序员必须创建一个线程来释放内存 B、 内存回收程序负责释放无用内存 C、 内存回收程序允许程序员直接释放内存 D、 内存回收程序可以在指定的时间释放内存对象 2. 下面异常是属于Runtime Exception 的是(abcd)(多选) A、 ArithmeticException B、 IllegalArgumentException C、 NullPointerException D、 BufferUnderflowException 3. Math.round(11.5)等于多少(). Math.round(-11.5)等于多少(c). c A、11 ,-11 B、11 ,-12 C、12 ,-11 D、12 ,-12 4. 下列程序段的输出结果是:(b ) void complicatedexpression_r(){ int x=20, y=30; boolean b; b=x>50&&y>60||x>50&&y<-60||x<-50&&y>60||x<-50&&y<-60; System.out.println(b); } A、true B

android学习微信小程序中wxml和wxss的样式说明,彻底搞定布局排版

99封情书 提交于 2019-11-27 07:11:56
对于css不熟悉的 Android 程序员来说,开发 微信 小程序面临的一个比较困难的问题就是界面的排版了。微信小程序的排版就跟wxml和wxss有关了,它们两者相当于android的布局文件,其中wxml指定了界面的框架结构,而wxss指定了界面的框架及元素的显示样式。 一、wxml 界面结构wxmL比较容易理解,主要是由八大类基础组件构成: 一、视图容器(View Container): 二、基础内容(Basic Content) 组件名 说明 组件名 说明 view 视图容器 icon 图标 scroll-view 可滚动视图容器 text 文字 swiper 可滑动的视图容器 progress 进度条 三、表单组件(Form) 四、操作反馈组件(Interaction) 组件名 说明 组件名 说明 button 按钮 action-sheet 上拉菜单 form 表单 modal 模态弹窗 input 输入框 progress 进度条 checkbox 多项选择器 toast 短通知 radio 单项选择器 五、导航(Navigation) picker 列表选择器 组件名 说明 slider 滑动选择器 navigator 应用内跳转 switch 开关选择器 label 标签 六、多媒体(Media) 七、地图(Map) 组件名 说明 组件名 说明 audio 音频

【天赢金创】Facebook:我们是如何构建第一个跨平台的React Native APP

拈花ヽ惹草 提交于 2019-11-27 04:35:24
今年早些时候,我们介绍过 iOS版的React Native . React Native带来的是用web方式的React - 自声明式的UI组件和快速的开发迭代来完成手机平台的功能,然后为了保持速度、保真性、并达到原生的体验。今天我们很高兴发布 React Native的Anroid版本 . 在Facebook我们已经应用React Native在发布的产品有超过一年的时间了。几乎是整整一年之前,我们的团队开始规划开发 广告管理APP 。我们的部门是创建一个新的APP来让数百万的Facebook广告主来管理他们的账号并能创建新的广告。在完成的时候,这不仅仅是FB的第一个全React Native APP而且是第一个跨平台的APP.在这篇文章里,我们希望能和你分享我们是如何构建这个APP,React Native是如何让我们更快的,还有这个过程中我们的经验。 选择React Native 不久前,React Native还是一项新的技术,还没有被一款正式的产品应用过。并且开发这样一个新的APP会有很大的挑战,它超过了潜在的好处。 首先,我们初始的团队里有三个产品工程师已经对React很熟悉。另外,这个APP需要处理大量复杂的商业逻辑和精确的处理不同的广告格式、时区、日期格式、货币、汇率等等诸如此类。而大部分已经用JavaScript来实现了。全部用Objective

Android快应用开发(一)

只谈情不闲聊 提交于 2019-11-27 03:15:53
快应用是Android未来的使用趋势,其优势在于免安装,渲染能力强,使用原生系统的能力强,H5实时更新等。 在华为2019的开发者大会中也是吹了一把快应用,快服务的使用,以后在鸿蒙系统中也会支持这种快速开发,高效,资源占用率低,免安装的快应用模式。 下面是传统APP,H5APP,混合APP,小程序等使用对比 从上图也可以看出,各手机厂商制定了快应用标准,就是为了死磕上去年和前年比较火的微信小程序 现在小程序已经有了一席之地了,快应用还没有怎么被用户所知 那就要吐槽一下快应用的使用入口了,几乎所有的手机快应用入口都在应用商店里去找,平时也没有看到各手机商在销售时有过介绍什么的。用户不仔细找都没发现有.... 那么就干起来吧: 开发要求,必须有一些JS基础,不要求能写的有多华丽,但是比较基础的HTML JS CSS代码可以看得懂,后面使用到的知识再慢慢学习补上了了。 第一步:欲善其工,先利其器,环境搭起来先 1、安装Node.js环境,Node.js官网地址: https://nodejs.org/en/ 2、下载华为快应用开发IDE,Win地址: https://obs.cn-north-2.myhwclouds.com/hms-ds-wf/sdk/DevecoFastAppIDE-V1.4.1-Win64.exe MAC地址: https://obs.cn-north-2

Android性能优化面试题集锦

六月ゝ 毕业季﹏ 提交于 2019-11-27 03:13:58
前言 很多人面试之前,可能没有在互联网公司工作过或者说工作过但年头较短,不知道互联网公司技术面试都会问哪些问题? 再加上可能自己准备也不充分,去面试没几个回合就被面试官几个问题打蒙了,最后以惨败收场。 下述是我收录整理的Android面试题汇总,由于篇幅原因,在这只把性能优化部分的题目列举出来,后续还会更新其余面试题内容,大家可以关注一下我,及时知晓我更新的知识点,同时这份面试集锦的整理也花费了我很多时间,有需要的朋友可以帮忙转发分享下,点个赞~ 性能优化 Android的性能优化,主要是从以下几个方面进行优化的: 稳定(内存溢出、崩溃) 流畅(卡顿) 耗损(耗电、流量) 安装包(APK瘦身) 影响稳定性的原因很多,比如内存使用不合理、代码异常场景考虑不周全、代码逻辑不合理等,都会对应用的稳定性造成影响。其中最常见的两个场景是:Crash 和 ANR,这两个错误将会使得程序无法使用。所以做好Crash全局监控,处理闪退同时把崩溃信息、异常信息收集记录起来,以便后续分析;合理使用主线程处理业务,不要在主线程中做耗时操作,防止ANR程序无响应发生。 (一)稳定——内存优化 (1)Memory Monitor 工具: 它是Android Studio自带的一个内存监视工具,它可以很好地帮助我们进行内存实时分析。通过点击Android Studio右下角的Memory Monitor标签

Linux与Android的关系

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-27 02:04:19
大家都知道Android是基于Linux内核的 操作系统 ,也曾经和Linux基金会因为内核问题产生过分歧,本文将开始对Android的内核进行剖析,主要介绍Android和Linux之间的关系,后续还会讲到Android系统在Linux系统之上扩展的部分功能和驱动。 虽然Android基于Linux内核,但是它与Linux之间还是有很大的差别,比如Android在Linux内核的基础上添加了自己所特有的驱动程序。下面我们就来分析一下它们之间究竟有什么关系? 一、 Android为什么会选择Linux 成熟的 操作系统 有很多,但是Android为什么选择采用Linux内核呢?这就与Linux的一些特性有关了,比如: 1、强大的 内存 管理和进程管理方案 2、基于权限的安全模式 3、支持共享库 4、经过认证的驱动模型 5、Linux本身就是开源项目 更多关于上述特性的信息可以参考Linux 2.6版内核的官方文档,这便于我们在后面的学习中更好地理解Android所特有的功能特性。接下来分析Android与Linux的关系。 二、Android不是Linux 看到这个标题大家可能会有些迷惑,前面不是一直说Android是基于Linux内核的吗,怎么现在又不是Linux了?迷惑也是正常的,请先看下面几个要点,然后我们将对每一个要点进行分析,看完后你就会觉得Android不是Linux了

Android_studio布局

大兔子大兔子 提交于 2019-11-27 01:49:41
Android中常用的5大布局方式有以下几种: 线性布局(LinearLayout):按照垂直或者水平方向布局的组件。 帧布局(FrameLayout):组件从屏幕左上方布局组件。 表格布局(TableLayout):按照行列方式布局组件。 相对布局(RelativeLayout):相对其它组件的布局方式。 绝对布局(AbsoluteLayout):按照绝对坐标来布局组件。 1. 线性布局 线性布局是 Android 开发中最常见的一种布局方式,它是按照垂直或者水平方向来布局,通过 “android:orientation” 属性可以设置线性布局的方向。属性值有垂直( vertical )和水平( horizontal )两种。 常用的属性: android:orientation:可以设置布局的方向 android:gravity:用来控制组件的对齐方式 layout_weight:控制各个组件在布局中的相对大小 布局结果如下: 原代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app=

Android四款系统架构工具

a 夏天 提交于 2019-11-27 00:33:50
1. Spring for Android   Spring for Android是Spring框架在Android平台上的扩展,旨在简化Android原生应用的开发流程,提高开发者的工作效率。Spring for Android可以帮助开发者简化应用与 服务器 端交互和Auth授权验证。   很多Android应用都要与服务器进行交互,而现在很多应用服务器都会提供REST服务,数据格式一般是JSON、XML、RSS等,使用Spring for Android将会大大地方便Android应用与服务器端的交互。Spring for Android能够简化JSON的解析工作。截至目前,Spring for Android支持3个JSON第三方库(Jackson JSON Processor、Jackson 2.x和Google Gson)。另外,Spring for Android中的Simple XML Serializer 也可以帮助开发者解析XML文件。   现在很多应用都提供开放的API服务,Android应用往往要经过授权才能接入这些服务,而如今大多应用都采用Auth授权认证,使用Spring for Android可以帮助开发者快速地进行授权处理。    2. GreenDroid   GreenDroid是一款高效的Android开发类库

Android插件化(三)载入插件apk中的Resource资源

若如初见. 提交于 2019-11-26 23:41:32
Android载入插件apk中的Resource资源 简单介绍 怎样载入未安装apk中的资源文件呢?我们从android.content.res.AssetManager.java的源代码中发现,它有一个私有方法addAssetPath,仅仅须要将apk的路径作为參数传入,我们就能够获得相应的AssetsManager对象,然后我们就能够使用AssetsManager对象,创建一个Resources对象,然后就能够从Resource对象中訪问apk中的资源了。 总结例如以下: 1.新建一个AssetManager对象 2.通过反射调用addAssetPath方法 3.以AssetsManager对象为參数。创建Resources对象就可以。 代码例如以下: package net.mobctrl.hostapk; import java.io.File; import android.content.Context; import android.content.res.AssetManager; import android.content.res.Resources; /** * @Author Zheng Haibo * @PersonalWebsite http://www.mobctrl.net * @version $Id: LoaderResManager.java,

GitHub上最火的74个Android开源项目(三)

耗尽温柔 提交于 2019-11-26 22:04:25
GitHub上最火的40个Android开源项目(一) GitHub上最火的40个Android开源项目(二) GitHub上最火的74个Android开源项目(三) GitHub上最火的40个iOS开源项目(一) GitHub上最火的40个iOS开源项目(二) 此前,推出的GitHub平台上“最受欢迎的开源项目”系列文章引发了许多读者的热议,在“GitHub上最火的40个Android开源项目 (一) 、 (二) 中,我们也相继盘点了40个GitHub上最受欢迎的Android开源项目。对于GitHub上如此众多的项目,有人不断Mark,有人分享自己的经验,有人心生“看得眼花缭乱,果然是需要终身学习的时代”的感慨,不管怎么样,如果能让你真的有所学习有所收获,我们的目的也就达到了。 今天我们将继续介绍GitHub上另外34个非常受欢迎的Android开源项目,在这些项目中,你又在用或用过哪些呢? 41. android-swipelistview SwipeListView是一个Android List View实现,实现了自定义ListView单元格,可通过滑动来显示扩展面板。开发者可直接登陆Google Play下载安装其 Demo应用 。 42. greenDAO