精华内容
下载资源
问答
  • 软件更新,是不是太频繁了?

    千次阅读 2017-11-19 03:29:52
    我(的手机)终于吃上棉花糖了!……什么?奥利奥?!小至应用程序,大到操作系统,隔三...系统发展生命周期软件开发不是想来就来的,它有着一套严谨而科学的流程。例如以下是系统发展生命周期的一个版本:立项从身边事

    我(的手机)终于吃上棉花糖了!……什么?奥利奥?!



    小至应用程序,大到操作系统,隔三差五都会有更新。App Store图标上的小红点,Google Play在通知栏弹出的提示也是见怪不怪了。有的时候,硬件也会有更新。

    更新的目的有很多,例如使系统保持最新、增加新功能、修正旧版本的错误等。

    系统发展生命周期

    软件开发不是想来就来的,它有着一套严谨而科学的流程。例如以下是系统发展生命周期的一个版本:

    立项

    从身边事件中找到机会,产生初步软件概念。

    筹划

    初步得出项目管理计划等一系列文档,并准备好最基本的必备资源。

    分析

    分析可以有很多方面的分析,比如说客户需求分析,市场分析,能力分析。在这个过程中,需要制定一份详细的功能清单。

    设计

    设计,顾名思义,是将愿望变成现实的第一步。在这个过程中,需要给出具体的功能的实现方案。虽然这个阶段的产品仍然只是一份方案书,但是建造起灯塔远比在一片漆黑中航行要好得多。

    实现

    梦开始的地方。将纸上的宏大构架变成屏幕上的代码。当看到自己的程序真正在工作的时候,那一份欣喜是不言而喻的。

    测试

    程序开发出最初版本后是远远不够的,它需要经过一系列严格的测试,以保证程序尽可能地减少bug,提升效率,以及压力测试等等。

    维护

    程序开发结束后不是一劳永逸的。开发者必须时刻监视着软件的运行状况,及时得到反馈并作出修正。同时还要时刻准备回答客户的疑问。

    软件版本周期

    上面提到的周期更侧重于项目的层面,就一个软件本身而言,它的一生将会这样度过

    Pre-Alpha

    这是真的写代码的阶段。分析需求,编写程序,单元测试,均在这个阶段完成。

    Alpha

    在这个阶段,虽然软件已经开始了测试,但是软件的全部功能还没有开发完成。一旦功能不再添加,这个阶段也就结束了。

    Beta

    在这个阶段,程序已经基本完成了, 但是可能会有或大或小的数不清的bug。同时程序的运行效率可能也不是最优的。在这个阶段,开发者会尽量减少对用户不利的影响。

    我想我应该知道育碧是哪个环节出岔子了……

    发行

    程序一旦结束测试状态之后就可以发行了。发行的渠道有很多,可以是实体,也可以是网络发行。

    支持

    程序不是一成不变的,bug总是会出来的,补丁是必要的。

    结束支持

    程序改动得太多,旧的版本终有一天会被抛弃。这只是时间问题,但是偏偏有的软件可是整整拖了13年才停止支持,还在结束支持后又推送了几个补丁包……

    现阶段存在的问题

    标题终于上线了

    软件的开发一般会有长期的路线图,顾名思义就是指导程序下一步开发方向的指南文件。所以在发布一个版本的时候,程序可能并没有达到完全形态而且可能永远都达不到,所以会时不时地发布更新,来提供最新的更新。

    但是,如果更新速度太快的话,就很可能导致测试不充分。测试不充分就会有bug。苹果每一次的新系统都会遭到不少用户的差评,漏洞百出,可能就是与每年一次大更新太频繁有关。

    如果放出更新之后迟迟没有人升级,这也是很大的问题。(吃不到最新甜品的痛苦)Android系统的升级率一直都很低,最新的功能无法带给多数用户,这种更新也是失败的。

    毫无意义的软件更新最近也是越来越多了。软件的主打新功能竟然是可以看它独播的新片?!这是功能吗?这需要单独放出更新吗?更新不需要网络流量的吗?

    后记

    问题虽然存在,我们却不能因此而否定这个完善的流程和理论。就正如日本现在都还没有找到可以替代制作委员会方式的体制,现在的项目管理机制也没有被推翻。

    所以我们更应该在自己身上下功夫,做好管理机制,带来更好的产品。

    CC BY-SA 3.0

    展开全文
  • 关于联想平板频繁出现广告弹窗恶意软件的调查与分析 20180110 1. 问题描述 问题出现在客户广发和招行定制的一些平板电脑上,大概1万台里面有100台出现恶意广告。 2. 收集问题平板相关信息 (1)确定平板的...

    关于联想平板频繁出现广告弹窗恶意软件的调查与分析

    20180110

        1.  问题描述

    问题出现在客户广发和招行定制的一些平板电脑上,大概1万台里面有100台出现恶意广告。

        2.  收集问题平板相关信息

    (1)确定平板的系统是android4.4.4 user版本。

    (2)通过dumpsys命令打印平板中安装的应用信息,确定病毒软件对应的软件包是Package [com.android.pickbox]和Package [com.lgcolorbu.appsnearmeclocker]。这两个包的安装时间是在2017-11-03 06:18:29,还可以看到/data/app,/data/data,/data/app-lib目录中存在这两个package的相关数据。

    (3)通过跟前端确认,病毒是通过静默安装的,即在用户不知情的情况下偷摸安装的,没有安装交互。

    (4)病毒安装后,病毒的启动以及广告的弹出,都是病毒程序自己控制的,病毒有一个DaemoServer服务,在系统启动时被启动,这个服务管理控制病毒的行为,通过ps命令可以看出。另外,我们实验只安装Package [com.android.pickbox]和Package [com.lgcolorbu.appsnearmeclocker],没有启动DaemoServer服务,病毒广告是不会弹出的,这也说明DaemoServer的作用。

    (5)除了搜狗和Worxhome之外的其他应用是上了锁的,不解锁是打不开的。adb被禁用,系统安装应用程序的功能被禁用,网络设置被禁用,并且系统浏览器也被禁用,没法上网。但SD卡没有封控,用户可以拷贝数据到SD卡里。

    (6)wifi被禁用,用户只能通过联通4G卡连接网络。

    (7)普通用户除了通过MDM安装/卸载程序外,没有别的途径安装第三方应用程序。

    (8)我们获取到了搜狗apk、WorxHome apk和病毒apk,反编译了这些apk,获得了源码。

    通过分析收集这些信息,我们确定病毒是通过网络传输到平板里的。

        3.  任务目标

    • 1)确定病毒的明确来源。
    • 2)确定病毒的安装方式。
    • 3)提供解决方案。

     

       4.0分析与验证

    这个问题分析的主要思路是,要么直接找到病毒apk的来源,确定病毒apk的安装方式;要么先确定病毒apk的安装方式,再分析病毒apk的来源。直接找到病毒apk来源的难度比较大,我们目前采用的是第二种分析方式。通过分析病毒apk的安装方法作为突破口,确定病毒apk用的那种安装方法,再分析这种安装方法的特征,通过这些特征去分析病毒的来源以及提供对应的解决方案。

     

    4.1  确定病毒apk的安装方式

    我们调查确定,Android4.4支持如下几种apk安装方式:

    1. 通过文件管理器等应用程序,点击安装SD卡里的apk。
    2. 通过adb install命令行安装病毒apk。
    3. 把病毒apk拷贝到/system/app或/data/app目录,系统自动扫描安装
    4. 应用程序通过调用系统命令pm install安装apk
    5. 应用程序通过调用系统接口pm.installpackage安装apk

    下面我们对这几种安装方式逐一排查:

    4.1.1  文件管理器安装方式分析

    通过系统预装的文件管理器等应用程序,点击安装SD卡里的apk。这种方式在我们定制的平板里行不通。

    原因1,这种方式需要和用户交互,不属于静默安装,而病毒的安装是静默安装;

    原因2,能看到SD卡里数据的只有文件管理器,但文件管理器被管控了,没法打开,也就没法安装病毒apk

    4.1.2  通过adb install命令行安装病毒apk方式分析

    这种方式在我们定制的平板里行不通,原因是我拿到有病毒的平板,usb adb是被禁用的,没法用adb 连接平板,没法安装。

    4.1.3  把病毒apk拷贝到/system/app或/data/app目录,系统自动安装方式分析

    这种方式是静默安装,嫌疑比较大,但我们深入分析发现,把apk拷贝到/data/app目录下,apk的名称不会发生改变;而其余方式安装apk后,apk在/data/app/下的名称会追加“-1”或“-2”,android官方解释是系统第一次安装或第二次安装;平板里的病毒apk在/data/app目录下的apk名称后面有“-1”, 如com.android.pickbox-1.apk和com.lgcolorbu.appsnearmeclocker-1.apk,确定不是这种方式安装的病毒apk,为了结论的严谨,我们把一个带有“-1”的apk拷贝到/data/app目录下,确定这个apk不能被安装。

    4.1.4  应用程序通过调用系统命令pm install安装apk方式分析

    这种安装方式也是静默安装,嫌疑也比较大。为了验证这种安装方式,我们自己写了个apk调用pm install,是可以实现静默安装的,但这个apk需要满足2个条件:1,需要有系统签名;2,需要有INSTALL_PACKAGE权限。只有同时满足这两个条件,才可以完成静默安装。于是我们的重点是INSTALL_PACKAGE权限和系统签名。在预装APP中查找具有INSTALL_PACKAGES权限的APP进行分析,此分析的详细描述在4.1.5中。

    4.1.5  应用程序通过调用系统接口pm.installpackage安装apk方式分析

    这种安装方式也是静默安装,嫌疑也比较大。经过我们深入分析,调用pm.installpackage的应用程序必须同时2个条件:1,需要有系统签名;2,需要有INSTALL_PACKAGE权限。只有同时满足这两个条件,才可以完成静默安装。4.1.4中也需要这两个条件。

     

    下面是系统中具有这2个条件的全部应用:

    Package [com.android.launcher]

    Package [com.lenovo.ota]

    Package [com.lenovo.FileBrowser.Pad]

    Package [com.android.packageinstaller]

    Package [com.lenovo.lsf.device]

    Package [com.lenovo.lsf]

    Package [com.lenovo.lsf.pay.phone]

    Package [com.lenovo.ue.service]

     

    通过查询这些app,确认其功能:

    Package [com.android.launcher]:主要用于开机时系统应用的安装,是android系统级应用,启动各个系统应用程序。排除这个应用,原因是不会网络下载安装,并且所有的android系统都会有这个应用。

    Package [com.lenovo.ota]:主要用于OTA系统升级时安装应用程序,OTA服务器在联想内部,并且跟前端沟通,我们的系统没有通过OTA升级过。排除这个应用。

    Package [com.lenovo.FileBrowser.Pad]:主要用于文件管理器安装应用程序,这种4.1.1中分析过,排除这个应用。

    Package [com.android.packageinstaller]:这个应用是系统提供的主要用于和用户交互安装应用程序。排除这个应用。

     

    剩下的应用存在问题的可能性比较大,而且都是联想的应用。

    Package [com.lenovo.lsf.device]

    Package [com.lenovo.lsf]

    Package [com.lenovo.lsf.pay.phone]

    Package [com.lenovo.ue.service]

     

    通过调查联想的这些应用,发现这些应用确实存在一些漏洞。官方已修补了版本号高于 9.4.0.88 的应用程序。而我们的应用版本是V4.6.6.2368。

    下面是联想官方2017-12-01日提供的安全公告。

    具体详见http://iknow.lenovo.com.cn/detail/dc_166723.html

     

    Lenovo Android平板电脑与Lenovo VIBE、Moto和ZUK移动电话远程执行代码漏洞。

    Lenovo 安全公告:LEN-15374

    潜在影响:远程执行代码

    严重性

    影响范围:所有 Lenovo Android 平板电脑及以下移动电话:所有 Lenovo VIBE 与 ZUK 设备及 Lenovo 分发的 Moto M(XT1662)。

    CVE IDCVE-2017-3758、CVE-2017-3759、CVE-2017-3760、CVE-2017-3761

    摘要描述:

    已确定 Android 设备(移动电话和平板电脑)用于下载应用程序的 Lenovo Store 存在漏洞。还在 Lenovo 设备上其他几个不同 Android 应用程序(包括 Lenovo Store)所用 Lenovo Service Framework(LSF)Android 应用程序中发现了一些漏洞。LSF 用于接收来自 Lenovo 服务器的推送通知,如产品促销(如应用程序下载推荐)、新闻、声明、调查等。在某些情况下,推动通知用于简化应急应用程序的修复和升级。恶意软件可能利用已确定的这些漏洞将代码从任意服务器下载到设备,继而远程执行代码。这些漏洞同时影响 Lenovo Store 本身(服务器)和 Lenovo Store 与 Lenovo Service Framework Android 应用程序(客户端)。

    1、CVE-2017-3758 – 可利用对 Lenovo Service Framework 应用程序中若干 Android 组件的不当访问控制远程执行代码。

    2、CVE-2017-3759 – Lenovo Service Framework Android 应用程序在不执行恰当验证的情况下即接受来自服务器的某些响应。这样应用程序容易遭受中间人攻击,从而可能导致远程执行代码。

    3、CVE-2017-3760 – Lenovo Service Framework Android 应用程序在对下载的应用程序和/或数据执行完整性验证时,使用一组不安全的凭证。这样应用程序容易遭受中间人攻击,从而可能导致远程执行代码。

    4、CVE-2017-3761 – Lenovo Service Framework Android 应用程序在未对外部输入执行恰当清理的情况下执行某些系统命令。在某些情况下,这可能导致注入命令,继而导致远程执行代码。

      1. 分析病毒apk的来源

    病毒的来源很可能就是利用了这些应用的漏洞,而这些漏洞所在的应用又有INSTALL_PACKAGES 权限和系统签名,所以能够实现静默安装一些病毒应用。

     

    1. 问题解决

    修复这些漏洞。官方的解决方法如下:

    应采取哪些措施进行自我保护:

    Lenovo Service Framework 应用程序

    已解决了版本 V4.8.0.2403 中的漏洞;设备建立连接后,应用程序将自动更新。用户可通过打开菜单“Settings (设置)--> Apps(应用程序)--> Device Service(设备服务)”验证版本是否正确。

     

     

    展开全文
  • android ImageView 频繁切换图片 OOM

    千次阅读 2013-01-30 23:14:39
    最近在帮一个朋友写一个android 软件频繁的用ImageView 更换图片。 结果常常出现OOM 后来修改把ImageView加载图片自己来管理,问题解决了,不敢独享,拿出来与各位同学分享 private void showImage(int ...

    最近在帮一个朋友写一个android 软件,频繁的用ImageView 更换图片。

    结果常常出现OOM

    后来修改把ImageView加载图片自己来管理,问题解决了,不敢独享,拿出来与各位同学分享


    private void showImage(int index) {

    int resid = R.drawable.circle_01;

    switch (index) {

    case 1:

    resid = R.drawable.circle_01;

    break;

    case 2:

    resid = R.drawable.circle_02;

    break;

    case 3:

    resid = R.drawable.circle_03;

    break;

    case 4:

    resid = R.drawable.circle_04;

    break;

    case 5:

    resid = R.drawable.circle_05;

    break;

    case 6:

    resid = R.drawable.circle_06;

    break;

    case 7:

    resid = R.drawable.circle_07;

    break;

    case 8:

    resid = R.drawable.circle_08;

    break;

    case 9:

    resid = R.drawable.circle_09;

    break;

    case 10:

    resid = R.drawable.circle_10;

    break;

    case 11:

    resid = R.drawable.circle_11;

    break;

    case 12:

    resid = R.drawable.circle_12;

    break;

    }

    //把历史的ImageView 图片对象(image_)释放

    BitmapDrawable bitmapDrawable = (BitmapDrawable)image_.getBackground();

    if(bitmapDrawable!=null){

    Bitmap hisBitmap = bitmapDrawable.getBitmap();

    if(hisBitmap.isRecycled()==false)

    {

    hisBitmap.recycle();

    }

    }

    //上面的代码一定要做,否则不会超过30分钟可定会出现exit,当然我的timer设置的时间比较短。。。。。timer.schedule(task, 5, 5);


    //下面代码是网上通常搜到的源码例子,但是不能解决,智能优化,只有加上上面的才能彻底解决内存的问题。

    BitmapFactory.Options options = new BitmapFactory.Options();

    options.inPurgeable = true; // bitmap can be purged to disk

    options.inInputShareable = true;

    Bitmap bm = BitmapFactory.decodeStream(getResources().openRawResource(

    resid));

    Drawable bd = new BitmapDrawable(getResources(), bm);

    image_.setBackgroundDrawable(bd);



    }

    展开全文
  • app频繁更新莫过于以下两点: 修复线上bug; 敏捷开发、频繁迭代; 那么要解决频繁更新的问题,我们就从这两点进行分析: 首先,频繁修复线上bug,反映出两个问题。第一、发版前测试环节是否充分考虑各种应用场景...

        

    app频繁更新莫过于以下两点:

    1. 修复线上bug;
    2. 敏捷开发、频繁迭代;

    那么要解决频繁更新的问题,我们就从这两点进行分析:

    首先,频繁修复线上bug,反映出两个问题。第一、发版前测试环节是否充分考虑各种应用场景,回归测试是否充分覆盖每一个功能点;第二、非致命性bug是否有必要进行发版修复,过于频繁却价值较低的升级,有时令人对一款APP的好感度直线降低,甚至卸载了事。

    那么如何解决以上两点问题呢?

    第一点,在发版前测试人员的测试工作固然重要,但是开发人员提交高质量的代码也是至关重要的,这里高质量的代码并非指资深程序员才能写出的代码,我们可以将其理解为思路清晰、结构合理、开发人员完成第一遍编码工作后,应该结合功能应用场景,产品流程进行自我测试,代码优化,在时间充裕的情况下,尽可能的给代码进行详细的注释说明;团队在条件允许的情况下,每个产品周期进行一次Code Review,交叉审视。有能力的开发人员,在自己工作之余,可以帮助其他同事检查代码,发现问题。往往这样的一套流程走下来,开发人员自身就会发现很多bug。这样一来到达测试人员手里的版本是一个完整度较高,bug较少的测试版本,从而减少了一些并非测试人员测试范围的工作(例如功能缺失、UI不符等),增加了测试人员对重点功能以及各个场景的测试时间,从多年的工作经验能看出,当发版在即的时候,时间不够充裕的时候,测试和产品往往会迫于无奈在某些并不完美的功能上进行妥协,甚至由于时间原因,根本无法进行回归测试。这样就增加了发布版本线上出现bug的几率。我想只要遵守以上几点,线上bug出现的几率会大幅降低,从而减少版本的频繁更新。

    第二点,当我们发现线上版本出现一些bug时候,首先应该对bug进行排查,分析bug所能造成的影响,如果并非是致命性的bug,是否可以考虑在下一次版本升级中进行更新。

    以上两点是从开发到测试以及版本发布流程的管理角度出发,那如何从技术的角度去减少产品的更新频次又或者是在用户无感的情况下进行更新呢?

    首先app类产品,是用户需要装载到手机上的应用程序,所以app安装包的更新是用户所能感知的,那么我们如何去减少用户的感知又能做到app的升级呢?

    第一:app的开发模式,现在比较的主流模式是混合开发模式,这样的模式将应用主体使用原生开发,我们可以理解为房子的框架,但是框架内所载内容实际是由我们的浏览器引擎对服务器上的内容页面进行渲染的,所以这样的开发模式可以使得开发人员对服务器上的内容进行更新而无需用户对应用进行升级,然而这样的方案并非完美,众所周知,当浏览器对页面内容以及js脚本进行渲染时,是需要从远端拉取对应数据进行渲染的,这样的一个等待会大大降低用户在app上的使用体验,所以业内又衍生出了一种技术,离线更新,也就是在用户并未打开页面的时候,对页面进行离线包下载,当用户打开页面时,先从离线包中进行加载,这样大大提高了页面加载的速度。

    第二:app的热更新技术,当程序主体需要发生更新的时候,我们就只有选择发布升级包让用户进行安装吗?当然不是,对于一些修改量小的bug,我们可以选择热更新的方式对应用进行Bug修复。

    第三:选择合适的开发框架,目前业界出现了诸多混合式开发框架,他们的开发语言,以及开发习惯都是参照或是直接使用前端开发的模式,旨在于帮助更多前端开发人员也能进行app的开发,并且做到一套代码多端输出。从目前来看,混合式开发主要有Weex(已被阿里技术团队多次运用),ReactNative(FaceBook主推的混合式开发框架,使用局部更新技术,效率更高,目前美团有在使用),这两大主流框架占据了混合式开发的大壁江山,但相对于原生开发,还是会略逊一筹。那么有没有比原生性能更高的混合式开发框呢,又能更好的兼容android,ios两端呢?google在不久前推出了flutter开发框架,flutter框架的渲染性能是可以与原生媲美的,并且他两端的适配能力要强于Weex与ReactNative,因为flutter是基于底层代码进行直接绘制,并非使用浏览器引擎进行渲染,或者转换为原生代码在进行渲染。所以选择一个合适的开发框架,也是减少升级版本过程中产生时间、人力投入的不二选择。

    以上是我对技术方面避免产品升级的一些看法,但并非是代表依照上面所推荐的就是最好的方法,我们应该结合实际情况,以及管理技术相搭配的方式进行合理的选择更甚。

    敏捷开发、频繁迭代是app给用户良好体验,以及增加用户可玩性的一个策略,但频繁的更新亦能给用户带来负面的影响。所以在产品升级等方面,多结合以上提到的几点,能用技术解决的,竟可能的少让用户升级,产品周期的规划,也应该结合一些科学的分析,进行合理的安排。

    展开全文
  • 智能手机的功能如此丰富,在于系统的智能化...频繁的升级也会让很多用户感到特别的烦躁,又担心对手机不好,那么手机系统更新好不好呢?手机系统更新好不好?好处;可以消除原有系统的一些不完善之处和在一些硬件配置无...
  • 摘要:随着经济社会的发展,人们的资金流动更加频繁,对记账的需求也逐渐提高.目前移动设备已经普及,移动记账以其随时随地记账,高效统计的特点,受到了广大记账理财人士的青睐.本文通过对国内外手机记账软件发展现状...
  •    Android客户端需要频繁更新版本,每次更新都要下载新apk,1是浪费流量,2是我的服务器是低配,下载速度慢,怎么节省流量呢?增量更新,学习下其原理及实现过程。 二、几个概念: 热修复/热更新 轻量级 的...
  • Android 软件优化

    2013-03-27 14:36:51
    Android软件开发中常见的几个瓶颈 不同分辨率适配 不同版本调试 语言?性能?触摸?动画? 内存,内存,内存... Android软件内存限制 Android系统对每个软件所能使用的RAM空间进行了限制(如: Nexus one 对每...
  • Android 百度地图闪烁问题,图层频繁修改导致的
  • android6以下(更高版本的系统我没有root过,不知道里面的具体情况),安装新软件后会在/data/dalvik-cache生成一个缓存文件,并且在卸载应用时不会删除,在软件越做越大的今天,如果是这样,频繁安装新软件必然会...
  • 目前,诸多手机安全软件都支持垃圾清理功能,那么那款软件的垃圾清理功能效率更高呢?接下来,我们拿用户常用的四款手机垃圾清理应用(360手机卫士4.2.5正式版、腾讯手机管家4.4、金山清理大师3.8、安卓优化大师3.3.5)...
  • 不过有一些手机软件的版本升级会很频繁,每次升级都只是修改了小部分缺陷,这样的升级对于用户来说意义并不大。 Google Android电子市场近日就修改了相关规则,让用户可以看到版本更新内容,然后根据情况选择下载。...
  • 基于流量分析的安卓恶意软件检测随着智能手机行业的发展,人们在日常的工作学习生活中越来越离不开智能手机。Android系统作为流行度最高的智能手机系统之一,其安全性正受到越来越多恶意攻击者和安全研究者的关注。...
  • 来源: http://bbs.dospy.com/thread-12327932-1-461-1.html sation 新人必看 安卓系统原理: 不用频繁去关闭后台程序不用在意剩余内存的大小,其实很多人都是把使用其他系统的习惯带过来来了。android大多应用没有...
  • 开发软件使用的是Android Studio 创建一个工程项目,一个基本的项目包含的如上图,像类似于java中的类,函数等放在src/main/java/下, res中的drawable放的是一些图片素材,layout放的是一些xml配置文件values存放...
  • 终端设备软件更新方法及装置

    千次阅读 2016-07-02 14:32:27
    终端设备软件更新方法及装置 摘要: 本公开实施例提供了终端设备软件更新方法及装置,其中方法包括:判断软件是否需要更新,其中所述软件的可更新部分使用HTML5代码实现;如果所述软件需要更新,则从服务器获取所...
  • 最近在对一款开发中的游戏进行压力测试时会出现崩溃的问题,具体场景是 在进入一个Activity时立即按返回键退出该Activity再迅速进入该Activity,进入退出的时间间隔越短越容易发生崩溃,后来打印日志发现,由于...
  • 安卓系统原理: 不用频繁去关闭后台程序(转) 安卓系统, 程序  不用在意剩余内存的大小,其实很多人都是把使用其他系统的习惯带过来来了。android大多应用没有退出的设计其实是有道理的,这和系统对进程的调度...
  • 荣耀V20升级更新安卓10的Magic UI 3.0后,手机的耗电速度变快了,大家有没有觉得,手机显示屏幕耗电特别快,界面好看了,耗电快的夸张,平时看会新闻小说,顶多消耗百分之8,升级后消耗快百分之20了,是不是这个系统...
  • Android软件安全与逆向分析

    千次阅读 2015-03-26 15:53:23
    如何分析android程序 进入AndroidDalvik虚拟机  Android可执行文件 静态分析Android程序 ...基于Android的ARM汇编语言基础 ...android软件破解技术 Android程序的反破解技术 Android系统的攻击
  • 1、 安卓最大的特点是开源(所以垃圾软件就多了),系统占用空间小(采用的是linux内核) 。苹果最大的特点是保密性较高(几乎无病毒),占用内存较小(运行速度快)(采用unix内核(非开源))2、 IOS的手机缓存...
  • Android实现APP自动更新功能

    千次阅读 2015-01-28 17:03:44
    现在一般的android软件都是需要不断更新的,当你打开某个app的时候,如果有新的版本,它会提示你有新版本需要更新。该小程序实现的就是这个功能。 该小程序的特点是,当有更新时,会弹出一个提示框,点击确定,则在...
  • 发生情景 在使用 TCP 与服务器进行通信时,需要进行图片的传输,使用的是字节流的方式,并且...在对软件进行调试时终端频繁调用 GC ,并且处理速度异常的慢。以下是日志内容: 04-23 11:22:00.370 2448-2463/com.b...
  •     ...android大多应用没有退出的设计其实是有道理的,这和系统对进程的调度机制有关系。如果你知道java,就能更清楚这机制了。其实和java的垃圾回收机制类似,系统有一个规则来回收内存。进
  • 软件自动更新原理

    千次阅读 2018-04-12 10:50:00
    在互联网不太普及的时代,很多软件公司还是会发布离线更新包,这种更新包其实就是个安装程序,只是安装的内容是更新的部分,没有变化的文件直接用已经安装的版本的。此外这些安装程序还会修改一些系统配置以适应新...
  • 通话录音软件--微录音(V-Callrecorder) 一、你是否常常遇到以下情况: 1.会议现场,经理所述内容繁琐,没能记下要点,造成工作失误。 2.开车时来电话,不接的话可能会漏过一笔生意,接听又手忙脚乱,严重影响行车...
  • 基于Android系统的人脸识别签到软件

    万次阅读 2018-06-14 21:12:06
    项目名称: 基于Android系统的人脸识别签到软件 目 录 1 项目介绍..... 1 1.1 项目背景.... 1 1.2 产品特点.... 2 1.3 可行性分析.... 2 1.3.1 技术可行性分析.... 2 1.3.2 经济可行性分析.... 3 1.3.3 操作...
  • 2017年Android恶意软件专题报告

    千次阅读 2018-03-24 12:28:34
    摘 要2017年全年,360互联网安全中心累计截获Android平台新增恶意软件样本757.3万个,平均每天新增2.1万。全年相比2016年(1403.3万)下降46.0%,从2015年来看,新增恶意软件呈现总体下降趋势。2017全年,从手机...
  • android 如何使用服务器进行版本更新

    千次阅读 2018-06-07 08:58:23
    今天,简单讲讲android里如何在app内部直接使用服务器进行版本更新。昨天,我讲了如何使用应用市场进行版本更新。但是使用应用市场进行版本更新存在一个问题,就是app无法获取应用市场里app的版本信息,所以使用...
  • Android开发之应用程序更新实现

    千次阅读 2014-05-13 15:18:42
    Android开发之应用程序更新实现

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,901
精华内容 8,360
关键字:

安卓软件更新频繁