当前位置:  编程技术>移动开发
本页文章导读:
    ▪Socket通信(objetive-c)客户端与(JAVA)服务端的特殊点        Socket通讯(objetive-c)客户端与(JAVA)服务端的特殊点前段时间,在做objetive-c下的Sokcet通讯,当使用C++程序做服务端时,一切正常;当用JAVA做服务端时,双方收不到数据,在查阅了一些资料后,整理一下注.........
    ▪ 跟菜头:在碎片化的轰炸中喘息        和菜头:在碎片化的轰炸中喘息 ——和菜头在其博文中提到“现在这世界基本上已经是一个由信息碎片所构成的大型显示屏,完整的信息已经非常少见。” 微博带来的是什么 相比之下,读.........
    ▪ surfaceview以致gallery2内存泄露       surfaceview导致gallery2内存泄露当从相机进入图库时,再退出,发现内存泄露。 发现内存泄露的方法是: adb shell dumpsys SurfaceFlinger 然后可以看到申请的内存 Allocated buffers:  0x1e4dd10: unknown     | .........

[1]Socket通信(objetive-c)客户端与(JAVA)服务端的特殊点
    来源: 互联网  发布时间: 2014-02-18
Socket通讯(objetive-c)客户端与(JAVA)服务端的特殊点

前段时间,在做objetive-c下的Sokcet通讯,当使用C++程序做服务端时,一切正常;当用JAVA做服务端时,双方收不到数据,在查阅了一些资料后,整理一下注意点

1 消息末尾加回车和换行符

     objetive-c发送数据时,要在末尾加上“\r\n”

_dataToSend = [NSData dataWithBytes:"This is a test\n" length:15];
    这是因为JAVA服务端使用类似于readline()的函数,读取缓冲区中的内容


2 编码方式需对应

      ASCII编码

NSData *data = [[NSData alloc] initWithData:[response dataUsingEncoding:NSASCIIStringEncoding]];

       UTF-8编码

    NSData *data = [[NSData alloc] initWithData:[response dataUsingEncoding: NSUTF8StringEncoding]];

编码要想对应,即都使用相同的编码方式。


 






    
[2] 跟菜头:在碎片化的轰炸中喘息
    来源: 互联网  发布时间: 2014-02-18
和菜头:在碎片化的轰炸中喘息

博客、微博、微信,我们在数字化时代迎来了信息的大爆炸,也迎来了信息的碎片化。一条信息被140个字的微博翻新、重组、恶搞,最终就被“翻译”成一条又一条的段子。

@和菜头 就为此宣布“准备停止微博一段时间”,并撰文戏称“碎片化阅读对我的大脑有所损伤”。

碎片化生存

——和菜头在其博文中提到“现在这世界基本上已经是一个由信息碎片所构成的大型显示屏,完整的信息已经非常少见。”

微博带来的是什么

微博要求一个人迅速在各种信息之间跳转,不要在任意一条信息上停留过多时间。又要求一个人尽可能快地消费一条信息,迅速咬住它,吸干其中的汁液,然后一口吐掉。最后,对于那些在微博上原创内容的人来说,微博要求你能在海量的信息碎片中做快速筛选,然后在两个原本没有关联的碎片中建立联系,并且把这种联系以巧妙漂亮的手法表达出来,于是可以赢得观众的欢呼和掌声。

无需知道“为什么”,只需要不断判断“是什么”,然后把一系列“是什么”组合起来。所以,哪怕是最简单的逻辑也都被抛弃了。我在微博上呆的时间足够长,因此受到的影响也就足够重。

和菜头所肯定的“阅读”

相比之下,读书是一种完全不同的模式。深度阅读需要你能够持续专注在书页上,集中全部精力,因为你在阅读的同时必须进行思考。需要一个人可以持续不断地阅读数万字,然后稍微停顿一下,整理思绪,完善脑海中关于这本书的架构,一点点形成整体印象。尤其是对于阅读量足够的人来说,阅读的过程里他会不断抽取脑海里的关联书籍进行分析和对比,读一本书相当是在同时翻阅十数本书籍。

这种过程对于专注之力的要求极高,因为一旦思考被打断,就很难回到之前建立起来的阅读氛围之中,彻底从原书的意境中退出。

人们所陷入的碎片化生存

微博是那种老师说一句,你就立即举手大喊“我知道!我知道!”的迅速反应。微博是无需做思考的地方,如何在最短的时间内作出最恰当的反应才是最重要的,反应胜过一切,表态高于一切。针对热点编段子就是一个很好的证明,所有的段子都不提供新鲜的想法,它们只是同义反复,试图各自对同一事物重新进行一次复述或者定义,从而一次次强化和放大了事物本身。所以,它是口渴时给予的盐。

现在这世界基本上已经是一个由信息碎片所构成的大型显示屏,完整的信息已经非常少见。你所能知道的,只是此时此地此事的一瞬间,人们看起来对此似乎也很满足:

听一个歌手60秒的歌唱决定他的去留,在搜索引擎返回的结果列中画5秒决定点开谁,在iPhone屏幕上跳出来的信息提示中凭借前十个字决定是否要打开阅读全文。

碎片低能

——为了让让碎片化这一个概念具现化在我们的面前,和菜头提到了“张纯如”。如果把对她的事迹放在现在,大家对这件事情的描述,可能只有一条“是中国人的就转”的微博。

和菜头提到了那段撰写专题的往事:

“研究南京大屠杀的华裔美国女作家张纯如猝然辞世,我以网友的身份帮一份报纸编辑两个整版的纪念专题。在48小时内我几乎不休不眠,浏览了所有能找到的和张女士有关的网页,我甚至搜索到了她的高中同学会内部通讯。”

“我阅读了关于她的所有书评,以及因为她那本书在美国本土引发的学术争议。最后,我根据自己的理解完成了那个专题。我相信那个专题多少有些用处,那大概是国内媒体第一次全面介绍张纯如的一切,以至于中国某官方媒体的“驻外记者”几乎是原封不动地把我的文章‘根据国外媒体报道’编译回了中国。”

这件事在今天想来是几乎不可能的事情,因为如果我在社交网络的搜索引擎上找寻关于她的资讯,相信返回的都是整屏的转载,内容都大同小异。同时,我也没有那么多时间去思考她是谁,以及她做了什么之类的问题。

我没有48小时,我大约有5分钟的时间编发第一条关于纪念她的文字,点上蜡烛,写上“是中国人的就转”。然后又有10分钟的时间编发第二条内容,一定会有一张她和孩子的照片,幸福地站在阳光下,然后找一个类似母子情深这样的动情点写一句戳中人心的话语。

如果这一切都还没有把我的资讯变为当日的传播热点,那么我可以在随后的悼念高潮中找一条恶意攻击和诽谤她的信息,只需要写上“晒傻逼”三个字,然后点击转发键,一次可以预见的转发小高潮会在几分钟后发生。

这是一个为了帮助人们约炮而耗费数十工程师数百工作日,用数十万行代码给予虚拟承诺的时代,而这一切本可以用手以简便程序解决的事情。

和菜头的药方

——追求速度和效率是网络世界长久以来的使命,因为最早它是作为一种工作工具而非生活场景出现的。

和菜头对此提出,最近几年来,网络上的信息发布发生有以下规律:

  • 信息的碎片程度加剧,人们倾向于消费越来越短的文字。
  • 对于富媒体的消费需求增加,尤其是对图片、音频、视频的需求增长惊人。
  • 信息达到用户的方式,Push和通知机制已经占据主流。
  • 对于这些听上去并不美好的现象,和菜头总结道:

    这是一个懒鬼消费表现主义产品的时代。

    也许再发展10年的SNS,互联网的产品经理对于人类心理和行为学的认知可能会超越学院里的专职研究人员。他们不单通晓,而且知道应该如何去控制,预见到人们可能采取的行为。

    通知机制的不断饲养,是在URL和新开页之后,互联网又一伟大的进程中断工具。在系统层面,所有进程都是实时多任务进行的。互联网工业者不能免俗,一定会在产品层面不知不觉地体现出多任务来。通知是一个打断,同时也是多任务的起点。注意力因此分散,这不是个新问题,在前SNS时代,无数人就已经在操作搜索引擎的时候于页面跳转之间彻底迷失。

    从搜索一本书开始,终结于E-bay的某个产品页。

    为了对整个“碎片化生存”提出一个解决的办法,和菜头最后总结了一个“药方”:

    1、大部分人无需治疗,因为即便不刷微博,他们也无事可做,无聊是生活的主基调(政治不正确呀,神啊,请宽恕我,阿门)。而且,VC需要收回投资,网络运营商需要完成流量KPI。所以,让大家刷吧。

    2、对于互联网产品经理来说,也许是时候换个思路考虑一下。你不可能无休止地做第二个微博,第二个微信,第二个Facebook,第二个Path。面对单Timeline、Feed流和通知系统,你难道还没有苦思冥想到想吐吗?

    3、对于曾经喜欢读书,如今读不进去的人。其实,只要停了微博,恢复阅读习惯和专注力不是很困难的事情。因为,作为一种生活方式,建立阅读习惯可能已经耗费了十五年以上的时间。而微博不过3年,Twitter也不过5年时间。没有道理旧习惯不能战胜新习惯。

    4、别太关心我,这个周末我读了好几本书,还写了读书笔记呢。


        
    [3] surfaceview以致gallery2内存泄露
        来源: 互联网  发布时间: 2014-02-18
    surfaceview导致gallery2内存泄露

    当从相机进入图库时,再退出,发现内存泄露。

    发现内存泄露的方法是:

    adb shell

    dumpsys SurfaceFlinger

    然后可以看到申请的内存

    Allocated buffers:
     0x1e4dd10: unknown     |  800 (4096) x  480 |      100 | 0x00000b02
     0x1e72e20: unknown     |  800 (4096) x  480 |      100 | 0x00000b02
     0x1e73920: unknown     |  800 (4096) x  480 |      100 | 0x00000b02
     0x1e75600: unknown     | 1280 (4096) x  720 |      100 | 0x00000b02
     0x1e7d2e0:  276.00 KiB |  720 ( 736) x   96 |        5 | 0x00000b00
     0x1e7dfd0:  143.75 KiB |  720 ( 736) x   50 |        5 | 0x00000b00
     0x1e81b08: 3076.25 KiB |  720 ( 736) x 1070 |        5 | 0x00000b00
     0x1e81f70:  143.75 KiB |  720 ( 736) x   50 |        5 | 0x00000b00
     0x1e83000: 7200.00 KiB | 1440 (1440) x 1280 |        5 | 0x00000b00
     0x1e83038: 3076.25 KiB |  720 ( 736) x 1070 |        5 | 0x00000b00
     0x1e84ea8: unknown     |  800 (4096) x  480 |      100 | 0x00000b02
     0x1e85c30: 3404.00 KiB |  720 ( 736) x 1184 |        1 | 0x00000933
     0x1e861e0:  276.00 KiB |  720 ( 736) x   96 |        5 | 0x00000b00
     0x1e91490: unknown     |  800 (4096) x  480 |      100 | 0x00000b02
     0x1e92b58: unknown     |  800 (4096) x  480 |      100 | 0x00000b02
     0x1e92ff0: 3404.00 KiB |  720 ( 736) x 1184 |        1 | 0x00000933
    Total allocated (estimate): 21000.00 KB

    总数一直在增加,解决办法是在退出图库后调用surfaceview的release方法释放内存。

              if (mSurfaceHolder != null) { 
                mSurfaceHolder.getSurface().release(); 
           }

    以上内存泄露仅仅是在从camera进入gallery发生,单独进入并退出gallery并不发生,这应该是framework的bug,不过可以再应用规避。


        
    最新技术文章:
    ▪Android开发之登录验证实例教程
    ▪Android开发之注册登录方法示例
    ▪Android获取手机SIM卡运营商信息的方法
    ▪Android实现将已发送的短信写入短信数据库的...
    ▪Android发送短信功能代码
    ▪Android根据电话号码获得联系人头像实例代码
    ▪Android中GPS定位的用法实例
    ▪Android实现退出时关闭所有Activity的方法
    ▪Android实现文件的分割和组装
    ▪Android录音应用实例教程
    ▪Android双击返回键退出程序的实现方法
    ▪Android实现侦听电池状态显示、电量及充电动...
    ▪Android获取当前已连接的wifi信号强度的方法
    ▪Android实现动态显示或隐藏密码输入框的内容
    ▪根据USER-AGENT判断手机类型并跳转到相应的app...
    ▪Android Touch事件分发过程详解
    ▪Android中实现为TextView添加多个可点击的文本
    ▪Android程序设计之AIDL实例详解
    ▪Android显式启动与隐式启动Activity的区别介绍
    ▪Android按钮单击事件的四种常用写法总结
    ▪Android消息处理机制Looper和Handler详解
    ▪Android实现Back功能代码片段总结
    ▪Android实用的代码片段 常用代码总结
    ▪Android实现弹出键盘的方法
    ▪Android中通过view方式获取当前Activity的屏幕截...
    docker中文入门学习手册 iis7站长之家
    ▪Android提高之多方向抽屉实现方法
    ▪Android提高之MediaPlayer播放网络音频的实现方法...
    ▪Android提高之MediaPlayer播放网络视频的实现方法...
    ▪Android提高之手游转电视游戏的模拟操控
     


    站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3