Time of excessive latency of connection... Adobe Air supports on mobile connection pooling?

Hello

I'm developing a mobile application that loads the thumbnail images to a remote server. During testing on the Android platform, however, I discovered that the images are very long to load. By monitoring the server logs, I determined that poor performance is caused by the absence of connection pooling, which means that each request creates a new connection. Running the sample code below on a mobile device produces 20 applications and 20 attempts to connect. By comparison, the same web application or desktop creates 2 connections and reuses connections for the following applications. Important overhead and latency associated with generating new connections has a significant impact on performance, with 20 thumbnails taking about 4-5 seconds to load on mobile compared to 0.5-1 second on a desk.

I've included a sample application below the emphasis placed on the performance issue. The image itself is very small (290 bytes), to focus the issue on the latency of the connection. I confirmed this behavior on many Android devices running 4.1, 4.0 and 2.3. I also tried using the charger c. URLLoader v. URLStream and v. sequential loading with no change in the behavior of simultaneous connection. Trying to set up the connection to 'keep-alive' in the URLRequest has also no effect.

package

{

import flash.display.Loader;

import flash.display.Sprite;

import flash.display.StageAlign;

import flash.display.StageScaleMode;

import flash.events.Event;

import flash.net.URLRequest;

import flash.utils.getTimer;

SerializableAttribute public class Main extends Sprite

{

private var _count:int = 0;

public void Main()

{

Super();

internship. Align = StageAlign.TOP_LEFT;

stage.scaleMode = StageScaleMode.NO_SCALE;

trace ("Start time" + getTimer() + "ms");

var loader: Loader;

var url: String = " " http://fbcdn-profile-a.akamaihd.NET/static-AK/rsrc.php/v2/yo/r/UlIqmHJn-SK.gif ";  290 bytes

for (var i: int = 0; i < 20; i ++) {}

loader = new this.addChild (Loader()) as a charger.

loader.contentLoaderInfo.addEventListener (Event.COMPLETE, complete);

Loader.Load (new URLRequest (url));

}

}

private void complete(event:Event):void

{

_Count ++

trace ("Completed" + _count + 'to' + getTimer() + "ms");

}

}

}

So, I have a few questions:

(1) is there something I can do to allow the reuse of connection?

(2) is it an inherent limitation with Adobe Air for mobile?

(3) is that someone can confirm if this limitation exists on other mobile platforms (iOS or Blackberry)?

Any help you can provide would be greatly appreciated. I really hope that this isn't a fundamental limitation of Adobe Air because it weakens my application to feel very slow.

Thank you

Adam

Hmm. You were quite right, it's a little disappointing!

This is Android recompiled for 3.4 rather than 3.1.

null

OVER 50 with 8 Chargers in 11327 milliseconds or 226,54 by load.   50 8 11327 226,54

OVER 50 with 50 Chargers in 8899 milliseconds or 177,98 by load.   50 50 8899 177,98

OVER 50 with 50 Chargers in 9280 milliseconds or 185,6 by load.     50 50 9280 185,6

OVER 50 with 50 loaders in 9513 milliseconds or 190.26 per charge.   50 50 9513 190.26

OVER 50 with 8 Chargers in 9744 milliseconds or 194.88 by load.     9744 8 50 194.88

OVER 50 with 1 Chargers in 16383 milliseconds or 327.66 by load.   16383 1 50 327.66

Compared with Apple iPad recompiled for 3.4 rather than 3.1.

null

OVER 50 with 8 Chargers in 502 milliseconds or 10.04 per charge. 50 8 502 10.04

OVER 50 with Chargers of 50 to 100 milliseconds or 2 per load.     50 50 100 2

OVER 50 with 50 Chargers in 117 milliseconds or 2.34 per charge. 50 50 117 2.34

OVER 50 with 50 Chargers in 93 milliseconds or 1.86 per charge.  50 50 93 1.86

OVER 50 with 8 tires in 270 milliseconds or 5.4 per charge.    50 8 270 5.4

OVER 50 with 8 Chargers in milliseconds of 307 or 6.14 per charge.  50 8 307 6.14

OVER 50 with 8 Chargers in 316 milliseconds or 6.32 per charge.  50 8 316 6.32

OVER 50 with 4 Chargers in 555 milliseconds or 11.1 per charge.  50 4 555 11.1

OVER 50 with 4 Chargers in 547 milliseconds or 10.94 per charge. 50 4 547 10.94

OVER 50 with 4 Chargers in 535 milliseconds or 10.7 per charge.  50 4 535 10.7

OVER 50 with 2 Chargers in 1038 milliseconds or 20,76 by load.        50 2 1038 20,76

OVER 50 with 2 Chargers in 1042 milliseconds or 20,84 by load.        50 2 1042 20,84

OVER 50 with 1 Chargers in 2107 milliseconds or 42,14 by load.        50 1 2107 42,14

OVER 50 with 1 Chargers in 2099 milliseconds or 41,98 by load.        50 1 2099 41,98

Both are on the exit compilation, which should take all of the variability. So, Yes, it is as if the Runtime AIR 3.4 lost the pool of connections, but ONLY for Android.

PS: Code I used in my test (which was a view based Mobile application conventional) is below in case you want to include it when you submit a bug report.


http://ns.Adobe.com/MXML/2009.
xmlns:s = "library://ns.adobe.com/flex/spark" title = "TestLLatency" xmlns:mx = "library://ns.adobe.com/flex/mx" >

  Import mx.events.FlexEvent;
  
protected function uicomponent1_creationCompleteHandler(event:FlexEvent):void
{
startTest();

}
    
public function startTest (): void {}
If (tail) throw new Error ("Please wait for the previous test at the end.");
queue = new Array();
_Count = 0;
var loader: Loader;
var i: int;
for (i = 0; i< numtoqueue;="" i++)="">
loader = new bob.addChild (Loader()) as a charger.
Loader.x = (I have 10%) * 50;
Loader.y = Math.floor (i/5) * 50;
loader.contentLoaderInfo.addEventListener (Event.COMPLETE, complete);
queue.push (Loader);
}
startTime = getTimer();
for (i = 0; i
nextQueue();
}
}
protected var startTime:int;
protected var endTime:int;
protected var numToQueue:int = 50;
protected var numLoaders:int = 8;
protected var queue: Array;
private var _count:int;
private void complete(event:Event):void
{
_Count ++
nextQueue();
}
[Bindable] protected var results: String;
protected function nextQueue (): void {}
var url: String = "http://fbcdn-profile-a.akamaihd.net/static-ak/rsrc.php/v2/yo/r/UlIqmHJn-SK.gif";  290 bytes
if(queue && queue.) Length) {}
var loader: Loader = queue.pop () as a charger.
Loader.Load (new URLRequest (url));
} else {if(_count==numToQueue)
endTime = getTimer();
var last: int = endTime-startTime;
results += "\n" + ("COMPLETED" + numToQueue + "with" + numLoaders + "Chargers in ' + (elapsed) +" milliseconds or ' +(elapsed/numToQueue) + ' by load.\t"+[numToQueue,numLoaders,elapsed,elapsed/numToQueue].join("\t ' ""));
queue = null;
{while(Bob.numChildren>5)}
bob.removeChildAt(bob.numChildren-1);
}
bob.getChildAt (0) .addEventListener (MouseEvent.CLICK, repeatTest);
bob.getChildAt (1) .addEventListener (MouseEvent.CLICK, repeatTest);
bob.getChildAt (2) .addEventListener (MouseEvent.CLICK, repeatTest);
bob.getChildAt (3) .addEventListener (MouseEvent.CLICK, repeatTest);
bob.getChildAt (4) .addEventListener (MouseEvent.CLICK, repeatTest);
}
}
protected function repeatTest(event:MouseEvent):void {}
var dob:DisplayObject = event.target as DisplayObject;
var testBehaviour:int = dob.parent.getChildIndex (dob);
try {}
{Switch (testBehaviour)}
case 4:
this.numLoaders = this.numToQueue;
break;
case 3:
this.numLoaders = 8;
break;
case 2:
this.numLoaders = 4;
break;
case 1:
this.numLoaders = 2;
break;
case 0:
this.numLoaders = 1;
break;
}
startTest();
dob.removeEventListener (MouseEvent.CLICK, repeatTest);
for (var i: int = 0; i<5;i++)>
} catch(e:Error) {}
trace (e.message);
}
}
 
]]>


 


 
 
 

Tags: Adobe AIR

Similar Questions

  • adobe air support

    Is adobe air supports smartphones blackberry?

    Currently no.  Now Adobe AIR is only supported by the BlackBerry PlayBook.

    Future Smartphones BlackBerry running BlackBerry 10 will support it.

  • I try to install my Adobe Acrobat 9 on a newly purchased computer, but getting the message that my serial No. is not valid. I faced the problem of the last time I changed my PC, but Adobe offers support.

    I try to install my Adobe Acrobat 9 on a newly purchased computer, but getting the message that my serial No. is not valid. I faced the problem of the last time I changed my PC, but Adobe offers support.

    Acrobat 9 is not compatible with the current operating system, which is probably the reason why they don't support you, but they still let you know if your s/n is valid or not... Try to contact them again and ask for this information.

  • BlackBerry 10 Adobe Air gone permanently.

    One of my most used apps was Vault by XLabz. She and a dozen others are dead on my Z30 in BB10.3.1. Here is the response from XLABZ.

    "Arch and most of our older applications were built using a technology called Adobe AIR. BlackBerry ceased support for Adobe AIR with their last update of the OS and any application that you have on your device that uses Adobe AIR (many of them on BlackBerry World) would stop working as a result. The only other platform that is supported is Android.

    We are now building a native Android version of vault to counteract this problem, but it would mean a few things:

    (1) If you have all your data stored on DropBox data would be safe and you can restore data from DropBox as soon as we publish the Android on BlackBerry World version. However, if you do not have backups, then there is no way to get the data back or even back up now since does not allow the old app more to do.

    (2) the update is released, you need to delete the old application and manually install the new version. The only upgrade will not work. Remove the old APP will remove all the files that you saved locally for the app - however, if you have your data already backed up, there is nothing to worry about.

    (3) we do not have an ETA for the release and it could take about 3-4 weeks for us to release the Android version in the BlackBerry World.

    (4) If you don't want to wait, and if you already have a device Android with Google Play access, the version is native Android already available and you can buy it from there.

    We understand that this is a big disadvantage for you as a user and our sincere apologies for this. However, as developers we do not drive decision-making platform for BlackBerry there was nothing we could do about it. »

    just to add more information:

    (1) adobe has decided to abandon the Flash for mobile support. This means that if safety issues, Adobe refuses to correct for the mobile Flash. For BlackBerry and Google are remove the Flash support on their mobile OS (BB10 and Android).

    (2) adobe is also declining air support for mobile. Same story as above.

    (3) the air developers have been informed of the interruption of air support to 10.3, several months ago. The standard procedure for them is to design a new version of their application, this time is in the Air in Android and release for BlackBerry World, with the same application ID. In this way, the files of the previous version are always accessible by the new version of the app. It seems that this developer has not got everything that in the time before the release of OS 10.3.

    (4) for a reason unknown to me, Android does not officially on dropping air support.

  • Adobe AIR on Mobile with Facebook

    I develop an Adobe AIR application for mobile devices to work with Facebook. I use the API ActionScript Adobe for the Facebook platform

    I can get the Facebook of Actionsctipt code as follows:

    FacebookMobile.init ("my-digital-app-id", initHandler);

    function initHandler(success:Object,_fail:Object):void

    {

    within the connection manager

    }

    The purpose of success is null and and the object of failure has the message "an active access token must be used to query information about the current user.

    What is the problem here or what else is needed to make mae, it works?

    I've made a little progress with that. Within your initHandler just make a call for you connect:

    FacebookMobile.login (loginCallback this.stage [], webview);

    WebView is an instance of StageWebView with the viewport defined. If I left it is null or has not indicated the display window, nothing happens...

    var webview:StageWebView = new StageWebView();

    webview.viewPort = new Rectangle (0,0,400,400);

    Now, I get a login screen.

  • error 'BlackBerry Tablet OS SDK 0.9.4 for Adobe AIR does not support mobile projects."

    Hello

    I installed Adobe Flash Builder Burrito and Blackberry Tablet OS SDK 0.9.4 on Windows 7. When I start to create a new project by selecting the ' New/ActionScript Mobile Project' menu, then in the new dialog box project of Mobile of ActionScript, I give a project name, and then choose 'BlackBerry Tablet OS SDK 0.9.4 for Adobe Air. At this point, the 'Next' button is gray on an error message on top as "BlackBerry Tablet OS SDK 0.9.4 for Adobe AIR does not support mobile projects.". Is there something that I am missing?

    I read somewhere someone comlains error message "BlackBerry Tablet OS SDK 0.9.4 for Adobe AIR support not projects mobile." occurs after installing Blackberry Tablet OS SDK 0.9.4 while there is no problem with Blackberry Tablet OS SDK 0.9.3. If it is true, where can I download Blackberry Tablet OS SDK 0.9.3?

    Thank you very much in advance,

    John

    @johnwneg, make sure that when installing FB Burrito, you:

    (1) run the installer as administrator.

    (2) select English International rather than NA English.

  • What version of Adobe AIR SDK supports iOS 9?

    Hi all

    What version of Adobe AIR supports iOS 9?

    I have a DONKEY that is built into AIR SDK 17 and my native iOS is built with iOS SDK 9. When I Isaiah to compile the test application, it gives me below error:

    Error occurred during the application of packaging:

    LD: library not found for - lSystem.B

    I wonder if it is the version of the AIR SDK that is causing the problem?

    Any help will be appreciated.

    Hi niranjan99926198,

    Please follow the following to workaround [Applicable only for MAC]

    1. download and install Xcode last version 7 (we tried on beta xcode7.2)

    2. create a symbolic link or copy of Xcode way ld: /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bi n/ld to /lib/aot/bin/ld64/ld64

    I hope it solves the problem.

    Roshan

    Adobe Air

  • Adobe AIR is not install on El Capitan... tried several times... weeks apart.

    I tried to install Adobe AIR so I can use Pandora, but after downloading, open, accept the terms and enter your password in the progress window reads "Facility" with no progress. I made this several times and weeks apart. Nothing.

    On my laptop with an older OS it is installed without any problem.

    Any chance someone can look into it?

    Screenshot 2016-05-26 19.29.04.png

    Nada.

    We run into this as well - 10.11.5 OSX

    Note: it looks like the installation via the command line works, it's just the GUI installer that broke

    /path/to/Adobe AIR Installer.app/Contents/MacOS/Adobe AIR Installer -silent -eulaAccepted -pingbackAllowed`

  • I can't connect to creative cloud, and so I can not install the Photoshop account I paid for.  I changed my ID adobe several times, but I can't connect to creative cloud, he always says I have the wrong password.  Help, please. Thank U

    I can't connect to creative cloud, and so I can not install the Photoshop account I paid for.  I changed my ID adobe several times, but I can't connect to creative cloud, he always says I have the wrong password.  Help, please. Thank U

    Hello

    Please contact the support.

    Contact the customer service

    Concerning

  • Connection of an iOS to the debugger in Adobe air application animate

    Hello

    I need to connect my iOS to Adobe AIR application to a debugger, a debugger will work. When I publish my Animate app crashes before it can connect, leaving behind an app still works on my phone. But there is no obvious way to connect to a console at the breast of animate it using "debug" or "start the remote debugging session. With the Simulator, it will connect as long I give IP address appropriate, it will connect. I don't have that option in my app on iOS. My iPhone or iPad will connect. How can I get this done?

    Apparently, the debugger to connect if you do not set the install on the flag of the device. But I found that animate them for Windows doesn't crash as it does on Mac OS. So the question is now moot.

  • What is Adobe Connect Mobile based on Adobe Air?

    I want to know is Adobe Acrobat Connect Pro application based adob air platform?

    Y at - it all native extions used if it is built on the air?

    I think that it doe run on AIR.

    What do you mean by native extensions? Do you mean the objects you can load in the share pod and do work in the mobile app?

    I know that you can load the file PPT (X), FLV, JPG, PNG and MP3 and they should appear correctly in the mobile App MP4, F4V and PDF can also work, but I'm not sure about those 100%.

    I know that content SWF does not currently work in the mobile application.

  • Porting an application multi-threaded for Adobe Air.

    Someone at - it never been faced with this task?

    The application in question has a thread about 10 in addition to the main user interface thread.

    Each thread is blocking ops in long-distance communication, GPS, HTTP, manipulation of the filesystem, processing of data of general application, SQL execution, etc.

    Very little of it is based on the direct interaction of the user.

    Is it possible to get something like this in Adobe Air?

    Or simply wait for Android/BB... which would be realistic player out right at about the time where that this port is complete.

    Support an implementation not threaded with threaded implementations could be a lot of work.  I would recommend waiting.

    AIR has a flash.utils.Timer class, or a simple setTimeout() call that uses only the timer below.  The question is not "burden" on the UI thread, depending on CPU load... work has to be done one way or the other.  The issue is latency, in terms of how long it takes the application to respond to user events, or how long to make the updates.  Do more that small pieces at a time in the main thread, you will feel your app slow and inconsistent, with irregular updates and (if you try) animations jerks.

    Thread safety is not a big deal, normally... it is a matter of concern for applications poorly structured in a multithreaded environment.  Properly structured multi-threaded applications will eventually look a lot like an AIR application, with respect to certain things (for example, GPS pilot or connections SQLite) communicating through mechanisms of threads (queues, events, etc.) with the main thread.

    Called async stuff basically back to the main thread.  What are the event listeners.  You might be better not think of it as a wire when even... it's not like your "main thread" in another application, perhaps, where you have full control.  This is the main thread in a framework of GUI like WxWidgets or QT or whatever... everything is done with events and you * must * return to the caller (the frame) as quickly as possible or you will have a user experience impact.  Basically, the entire application is a collection of event listeners, with no place where you can implement a "loop of interrogation" for example, as you might in a different environment.

    Rather than stuff on 'simple threaded environments', you should probably just search for "asynchronous programming" or "event-driven" stuff.  There not much more to it than that.

  • GTIS-90086 'Lack of 64 bit support' error downloading Adobe Air application questions

    Hello

    I have an Adobe Air based application which I previously downloaded using the iTunes connect application loader.

    Today, I get the error: ERROR ITMS-90086 'Missing Support 64-bit' iOS apps submitted to the App Store must include 64-bit support and built with iOS SDK 8 or later.

    It's weird because the 64-bit requirement has existed for some time and I use the same build method has been accepted previously.

    I tried the building without the extensions to exclude third party extensions. I have updated to the latest version of the Air SDK and use new certificate/provisioning profiles.

    Any ideas, what has changed?

    Tom

    Try to update Application Loader 3.1 or newer or install xcode last

  • Adobe Air 3.0 iOS streaming H264/Speex on RTMP - video No.

    Problem:

    Stream H264/Speex RTMP in Flash Media Server does not display video.  Audio plays fine.

    Conditions:

    Adobe Air 3.0

    iOS device (iPad 2, iOS4.3)

    Settings of the App:

    direct < renderMode > < / renderMode >

    Flash Builder 4.5.1 compiler settings:

    -swf-version = 13

    -target-Player = 11.0.0

    I tried to use stageVideo as the video ordinary object to render a signal H264 streaming from Flash Media Server, rtmp, but without success.  I can hear the audio, but the video is never returned.

    I CAN see H263 video when aired continuously on RTMP using this configuration (with only the purpose of the video).

    I can also run a locally stored file (H264/AAC) mp4 over rtmp from your iOS device and play it locally very well (using an stageVideo object).

    I tried this with the two stageVideo (which works fine when streaming a mp4 of the iOS device file) and with the normal video object (handles regular video H263 fine just down from FMS on rtmp streaming).  I also played with backgroundAlpha = "0" in this case, all with no luck.

    I followed all the online instructions and tutorials to get this to work since last week, but did not have luck.  I'm happy to post more code, but this approach is quite simple and has been described several times around these forums and posts from adobe.  It goes like this:

    -instantiate NetConnection (_nc) of the FMS and wait for the successful login:

    _ns = new NetConnection();

    _nc. Connect (serverAddress);

    -instantiate NetStream (_ns) and you connect using NetConnection:

    _ns = new NetStream (_nc);

    -Auditor of installation for StageVideoAvailabilityEvent; If stageVideo becomes available, attach _ns:

    _stageVideo = stage.stageVideos [0];

    _stageVideo = _stageVideo.attachNetStream (_ns);

    -If stageVideo is not available, fall back to the video object:

    _video = new Video();

    _video.attachNetStream (_ns);

    stage.addChild (_video);

    -play app netStream:

    _ns. Play (AppName);

    My renderMode is set correctly ('direct'), and from what I can tell, this isn't a question of backgroundAlpha.

    I saw this problem described elsewhere on this forum and on the net.

    I would like to know Adobe: are there problems of compatibility with this approach?  It doesn't seem to be any type of compatibility table indicating which video codecs and transport protocols are available on various mobile platforms.  Since the mobile deployment is very fragmented, or a graphic description table like this would be useful for those of us develop - at least for the major mobile platforms mostly in use.

    Forum of other messages similar to this problem:

    http://forums.Adobe.com/message/3981541#3981541

    http://forums.Adobe.com/message/3954578#3954578

    Thanks in advance!

    Hello

    It turns out that the broadcast of H264 video in real time does not on iOS devices in Adobe Air.  Other video codecs work (H263), but not for the H264.  You will consume the stream, but will not hear audio.  I confirmed that, after talking with members of the Adobe Air development team.

    -Craig

  • Damaged Adobe Air. Error "version of Adobe Air you have is damaged"

    damaged Adobe air

    Hello. When I turn on my computer. I get a message saying Adobe Air version I have, is damaged. I removed it and downloaded a new version 3 times but still the message! Using Adobe Air is not good. How can I solve this problem and do I really need Adobe Air on my computer? What is its role. Thank you. Brian

    Hi Brian,.

    You can check if the following Adobe article helps.

    Troubleshoot installation AIR | Windows

Maybe you are looking for

  • all-in-one Officejet 5610: cannot scan

    I am trying to scan on my officejet 5610 all-in-one and I get an error insall for windows 8 or 8.1.  Help please.

  • Black screen on startup of Windows 7 system

    so I have a PC with windows 7 installed in. whenever I turn on the computer, I have to restart exactly 3 times to reach the main office.the first time I hear the sound but the screen is still black. the second time, the screen is lit until the startu

  • Deskjet 3520 wireless configuration

    I have a new Deskjet 3520 all in one and I'm trying to get the ity configuration. I have the Mavericks 10.9.2. I downloaded the software and drivers on the HP site. I installed the software successfully and the HP utility has started, but it's stuck

  • new plugin for sametime 9.0.1 - config tool problem

    Hello I tried to make the new "integration of UC for sametime" to work. I used the previous version 8.6.2 successfully in our environment. Now the problem with version 9.0.1: config tool just does not save files on the update_site. There is always a

  • Computer laptop Windows 8 blocks each time after 15 minutes, I start laptop

    When I start my laptop it starts without a problem but after 15 minutes he start to freeze what I opened responds as "not responding", so what I have to do and I don't want to lose my unique data