魅力程序猿

  • 首页
  • Java
  • Android
  • APP
    • 扑克计分器
    • Video Wallpaper
  • 联系我
  • 关于我
  • 资助
Android
Android

Android面试题2--Activity数据的保存和恢复

Android中有突发情况需要对数据进行保存: 1、点击back键 2、点击锁屏键 3、点击home键 4、其他APP进入前台 5、启动了另一个Activity 6、屏幕方向旋转 7、APP被Kill 这些时候就需要对数据进行保存,保存数据分为临时保存和持久化保存。 两种保存形式: 1、重写onSaveInstanceState()  在这个方法里进行对数据临时保存。 2、重写 onPause() 在这个方法里对数据进行持久化保存。 下面咱们详细说说这两种保存方式的步骤、什么情况下改用哪一种方法。 一、onSave…

2016年11月21日 4条评论 6843点热度 0人点赞 daozi 阅读全文
Android

Android面试题1--Activity的4种启动模式

对Android而言,Activity有四种启动模式,它们是: 1. standard 标准模式也是默认模式,每次都新建一个实例对象。 2. singleTop 如果在任务栈顶发现了相同的实例则重用,否则新建并压入栈顶。 3、singleTask 如果在任务栈中发现了相同的实例,将其上面的任务终止并移除,重用该实例。否则新建实例并入栈。 4、singleInstance 允许不同应用,进程、线程等共用一个实例,无论从何应用调用该实例都重用。 想要感受一下的话写一个小demo,然后自己启动自己再点返回键就看出来了。下…

2016年11月20日 4条评论 8529点热度 0人点赞 daozi 阅读全文
Android

Android Studio gradle失败 (一)

在Linux上使用Android Studio进行 gradle build项目出现下面的异常: Could not resolve all dependencies for configuration ':_debugApk'. Configuration with name 'default' not found. 在Windows上正常,到Linux上就出现了问题,这个问题真的很奇怪。在stackoverflow上进行的查找,大部分都在说是有一个Module缺少build.gradle的文件。但是明明不少呀,…

2016年11月17日 1条评论 6434点热度 0人点赞 daozi 阅读全文
Android

Android Studio 默认的快捷键大全解释

之前一直使用Eclipse的快捷键,发现一些调用不出来,干脆换回默认的吧。这Setting里的keymap进行选择吧。   说明:斜体文字表示,测试时没有效果或者没有测试时没有达到预先条件的情况下没有效果。 IDE 按键 说明 F1 帮助 Alt+F1 查找文件所在目录位置 Alt+1 快速打开或隐藏工程面板 Ctrl+Alt+S 打开设置对话框 Alt+Home 跳转到导航栏 Esc 光标返回编辑框 Shift+Esc 光标返回编辑框,关闭无用的窗口 Shift+Click 关闭标签页 F12 把焦点从…

2016年11月14日 1条评论 5412点热度 0人点赞 daozi 阅读全文
Android

使用RemoteViews自定义NotificationCompat的布局在Android5.1上不显示图标

Android中常常会进行自定义布局的通知样式,那就需要使用RemoteViews进行布局,PendingIntent进行处理点击事件。这些都不多说了,这里主要说的是在Android5.1上不显示图标的问题。 布局里的ImageView也进行设置了图标,代码里设置了: _Builder.setSmallIcon(R.drawable.ic_noti_small); 和_RemoteViews.setImageViewResource(R.id.cooling_icon, R.drawable.app_icon); …

2016年11月10日 2条评论 6940点热度 0人点赞 daozi 阅读全文
Android

Android服务保活(灰色保活)

灰色保活,这种保活手段是应用范围最广泛。它是利用系统的漏洞来启动一个前台的Service进程,与普通的启动方式区别在于,它不会在系统通知栏处出现一个Notification,看起来就如同运行着一个后台Service进程一样。这样做带来的好处就是,用户无法察觉到你运行着一个前台进程(因为看不到Notification),但你的进程优先级又是高于普通后台进程的。 1、方案的设计思想: Android 中 Service 的优先级为4,通过 setForeground 接口可以将后台 Service 设置为前台 Serv…

2016年11月3日 2条评论 12413点热度 0人点赞 daozi 阅读全文
Android

Android 服务保活(一)

Android 进程拉活3种方法: A. 提供进程优先级,降低进程被杀死的概率 方法一:监控手机锁屏解锁事件,在屏幕锁屏时启动1个像素的 Activity,在用户解锁时将 Activity 销毁掉。 方法二:启动前台service。 B. 在进程被杀死后,进行拉活 方法一:注册高频率广播接收器,唤起进程。如网络变化,解锁屏幕,开机等 方法二:双进程相互唤起。 方法三:依靠系统唤起。 C. 依靠第三方 根据终端不同,在小米手机(包括 MIUI)接入小米推送、华为手机接入华为推送;其他手机可以考虑接入腾讯信鸽或极光推送…

2016年10月27日 2条评论 8258点热度 0人点赞 daozi 阅读全文
Android

Android中怎么判断是Home键或非正常退出(进入后台)

我们先写两个Activity:A和B,试着A打开B观察它们的生命周期:   你会发现是这样运行的:(A)onCreate->(A)onStart()->(A)onResume()->A正在运行中,此时A需要跳转的到B->(A)onPause()->(B)onCreate->(B)onStart()->(B)onResume()->B正在运行中->(A)onStop()->(A)onDestory()。是不是你发现了什么猫腻,找到了解决方法了。 O…

2016年10月8日 6条评论 9999点热度 0人点赞 daozi 阅读全文
Android

Android 中实现枚举的方案选择

Android 中实现枚举的方案选择:enum、static final 与 IntDef 引言: 曾经有一段时间,许多网上的 Android 性能调优的文章都提到,要尽量避免在 Android 中使用 enum,因为使用 enum 会引入较大的性能损失。这个当时和同事、领导进行了长时间的讨论、验证,最后还是放弃了enum。 然而,最新的 Android 文档已经改变了这一说法。根据 Android VM 的开发者Elliot Hugues 的博客所述,过去的 Android 官网的性能优化指南并不准确,混杂了许多…

2016年10月8日 1条评论 5429点热度 0人点赞 daozi 阅读全文
Android

在 Android Studio 2.2 中使用 C/C++

Android Studio 2.2 正式版发布后,更新内容中有提到对 C/C++ 支持的完善,表示非常高兴。然后将官网上这一部分内容翻译出来,如有错误,欢迎指正。 原文链接:Add C and C++ Code to Your Project 使用 Android studio,你可以将 C 和 C++ 代码编译成 native library(即 .so 文件),然后打包到你的 APK 中。你的 Java 代码可以通过 Java Native Interface(JNI)调用 native library 中的…

2016年10月8日 1条评论 4581点热度 0人点赞 daozi 阅读全文
Android

Android Studio 2.2 + ndk-r12b下CMake和NDK-Build

对于那些使用 Android NDK 的构建,Android Studio 现在支持通过在现有构建文件中指向 Gradle 构建 CMake 和 NDK-Build Android 应用项目。在将 cmake 或 ndk-build 项目添加到 Gradle 后,Android Studio 将自动打开相关的 Android 代码文件,用于在 Studio 中进行编辑和调试。 1、对于 CMake 用户,只需在 Gradle 文件的 externalNativeBuild 部分中添加 CMList.txt 文件的路…

2016年10月8日 3条评论 8309点热度 0人点赞 daozi 阅读全文
Android

Android Studio中提取代码-解决为啥提取代码快捷键失效

今天来给大家介绍一个非常有用的Studio Tips,有些时候我们在一个方法内部写了过多的代码,然后想要把一些代码提取出来再放在一个单独的方法里,通常我们的做法是复制粘贴,现在我来教给大家一个非常简洁的方法,先看下gif演示吧: 怎么样很方便吧?操作方法很简单,只需要选中一些代码,然后操作快捷键 Cmd + Option + M 就ok了,Windows是 Ctrl + Alt + M,很简单方便的一个小技巧分享给大家。 如果调不出来的话,那就右击,出现下图:   OK,看一下你的编辑器对应的快捷键。主要…

2016年9月29日 2条评论 7479点热度 0人点赞 daozi 阅读全文
Android

Android Studio中格式化代码

在Eclipse中 如果我们想让一段代码格式变得整齐,可以: 选中这行代码→右键单击→Source→Format 或者Ctrl+Shift+F就可以了 在Android Studio中 如果我们想让一段代码格式变得整齐,可以: 选中这行代码→Code→Reformed Code 或者Ctrl+Alt+L就可以 如下图: Android Studio中的一个小技巧: 对于一段非常零碎的代码,格式化后行间距等仍然很不顺眼,可以尝试先把代码合并成一行之后再格式化。 命令 快捷键 将代码合并成一行 Ctrl + Shift…

2016年9月29日 3条评论 8125点热度 0人点赞 daozi 阅读全文
Android

Android中Parcelable如可快速生成

之前都是自己手动实现,有时候属性比较多的时候,写着累就不说了,问题是修改的时候往往会忘记哦,然后用的时候就SB了。这种日子谁想继续呢,不要担心,大牛还是有的,于是乎就找到了“Android Parcelable code generator”这个插件。真是如获珍宝,ZTMD好用了。那就说说怎么在Android Studio中安装这个插件吧。 第一步,就是打开“Setting”找到“Plugins” 第二步,点击“Browse Repositories”在搜索框里输入“Parcelable”,找到“Android P…

2016年9月27日 1条评论 5964点热度 0人点赞 daozi 阅读全文
Android

Android为什么要序列化

android为什么要序列化?什么是序列化,怎么进行序列化 why 为什么要了解序列化?—— 进行Android开发的时候,无法将对象的引用传给Activities或者Fragments,我们需要将这些对象放到一个Intent或者Bundle里面,然后再传递。 what 什么是序列化 —— 序列化,表示将一个对象转换成可存储或可传输的状态。序列化后的对象可以在网络上进行传输,也可以存储到本地。 how 怎么通过序列化传输对象? Android中Intent如果要传递类对象,可以通过两种方式实现。 方式一:Seria…

2016年9月27日 1条评论 9575点热度 0人点赞 daozi 阅读全文
1…45678
搜索
联系方式

QQ群:179730949
QQ群:114559024
欢迎您加入Android大家庭
本人QQ:136049925

赐我一丝安慰
给我一点鼓励

最新 热点 随机
最新 热点 随机
解决Android 7及以上Notification.contentView为null问题 彻底解决git命令免密问题 隐藏ScrollView、RecyclerView等滚动条和去掉滑动到边界阴影的方案 Android Studio 3.4 编译Release版本广点通所有广告不显示 Android中使用System的getProperty()方法及获取Android内核版本信息 弄清楚INSTALL FAILED CONFLICTING PROVIDER问题
Android资源动态加载1 Android面试题3--常用单位dp、sp、in、dpi... 使用adb命令获取AndroidID 神奇的摩尔定律 用apksigner进行批量签名的脚本 MuiltDex 源码浅析
最近评论
宝宝 发布于 7 年前(02月27日) 哈哈哈哈
GPU Mining 发布于 7 年前(02月19日) I am just starting to learn about all of this. Tha...
Timothynix 发布于 7 年前(02月08日) Your place is valueble for me. Thanks!… http:...
趣头条 发布于 7 年前(02月08日) 鸟儿叫,花儿笑,一年一季春来到!
xing1982 发布于 7 年前(02月04日) 不错不错!内容感觉好极了!

COPYRIGHT © 2023 魅力程序猿. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

豫ICP备15000477号